[INFO] cloning repository https://github.com/Thi4gon/rustplotlib
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Thi4gon/rustplotlib" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThi4gon%2Frustplotlib", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThi4gon%2Frustplotlib'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1dc119e233c2ffc65443656533a9f9dd7ca3b32f
[INFO] fixing Thi4gon/rustplotlib against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThi4gon%2Frustplotlib" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Thi4gon/rustplotlib
[INFO] finished tweaking git repo https://github.com/Thi4gon/rustplotlib
[INFO] tweaked toml for git repo https://github.com/Thi4gon/rustplotlib written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Thi4gon/rustplotlib on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Thi4gon/rustplotlib already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ed1224ac40536ece1bcaf0ffe537eb16ed61e8435256baf5b549f4ee748b3fd9
[INFO] running `Command { std: "docker" "start" "ed1224ac40536ece1bcaf0ffe537eb16ed61e8435256baf5b549f4ee748b3fd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ed1224ac40536ece1bcaf0ffe537eb16ed61e8435256baf5b549f4ee748b3fd9" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed1224ac40536ece1bcaf0ffe537eb16ed61e8435256baf5b549f4ee748b3fd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ed1224ac40536ece1bcaf0ffe537eb16ed61e8435256baf5b549f4ee748b3fd9" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling pyo3-build-config v0.22.6
[INFO] [stderr]    Compiling drm-sys v0.8.1
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking xcursor v0.3.10
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]    Compiling drm-fourcc v2.2.0
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling tiny-xlib v0.2.4
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking unindent v0.2.4
[INFO] [stderr]     Checking ctor-lite v0.1.2
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]    Compiling pyo3-ffi v0.22.6
[INFO] [stderr]    Compiling pyo3-macros-backend v0.22.6
[INFO] [stderr]    Compiling pyo3 v0.22.6
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking drm-ffi v0.9.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking drm v0.14.1
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]    Compiling pyo3-macros v0.22.6
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking numpy v0.22.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking softbuffer v0.4.8
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking rustplotlib v5.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `_rustplotlib`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/artists/line2d.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if let (Some(ref path), Some(ref out_color), Some(out_width)) =
[INFO] [stdout]    |                      ^^^             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/artists/line2d.rs:90:33
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if let (Some(ref path), Some(ref out_color), Some(out_width)) =
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/artists/line2d.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if let (Some(ref path), Some(ref out_color), Some(out_width)) =
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]    |
[INFO] [stdout] 90 -         if let (Some(ref path), Some(ref out_color), Some(out_width)) =
[INFO] [stdout] 90 +         if let (Some(path), Some(out_color), Some(out_width)) =
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> src/colors.rs
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/artists/line2d.rs:162:26
[INFO] [stdout]     |
[INFO] [stdout] 162 |             if let (Some(ref out_color), Some(out_width)) = (&self.outline_color, self.outline_width) {
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/artists/line2d.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |             if let (Some(ref out_color), Some(out_width)) = (&self.outline_color, self.outline_width) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 162 -             if let (Some(ref out_color), Some(out_width)) = (&self.outline_color, self.outline_width) {
[INFO] [stdout] 162 +             if let (Some(out_color), Some(out_width)) = (&self.outline_color, self.outline_width) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: src/figure.rs
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/colors.rs:282:25
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn parse_color(obj: &Bound<PyAny>) -> PyResult<(u8, u8, u8, u8)> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: src/lib.rs
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:55:30
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn set_tight_layout_flag(&mut self, tight: bool) {
[INFO] [stdout]    |                              ^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: src/parse.rs
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:55:48
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn set_tight_layout_flag(&mut self, tight: bool) {
[INFO] [stdout]    |                                                ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: src/projections.rs
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:59:36
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn set_constrained_layout_flag(&mut self, constrained: bool) {
[INFO] [stdout]    |                                    ^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: src/ticker.rs
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:59:60
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn set_constrained_layout_flag(&mut self, constrained: bool) {
[INFO] [stdout]    |                                                            ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: src/transforms.rs
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:63:24
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn set_size_inches(&mut self, w: f64, h: f64) -> PyResult<()> {
[INFO] [stdout]    |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   = cause: error: expected item, found `{`
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn set_size_inches(&mut self, w: f64, h: f64) -> PyResult<()> {
[INFO] [stdout]    |                                      ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/figure.rs:29:1
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:63:46
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn set_size_inches(&mut self, w: f64, h: f64) -> PyResult<()> {
[INFO] [stdout]    |                                              ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn add_axes(&mut self) -> usize {
[INFO] [stdout]    |                 ^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/figure.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            29 | { unsafe #[pymethods]}
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               | ^ expected item
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 |         ax_id: usize,
[INFO] [stdout]    |                ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 |         cmap: String,
[INFO] [stdout]    |               ^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 |         vmin: f64,
[INFO] [stdout]    |               ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:93:15
[INFO] [stdout]    |
[INFO] [stdout] 93 |         vmax: f64,
[INFO] [stdout]    |               ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/figure.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 |         orientation: String,
[INFO] [stdout]    |                      ^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error: expected item, found `{`
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/transforms.rs:121:1
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:105:16
[INFO] [stdout]     |
[INFO] [stdout] 105 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 |         val: f64,
[INFO] [stdout]     |              ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            121 | { unsafe #[pymethods]}
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         valmin: f64,
[INFO] [stdout]     |                 ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^ expected item
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |         valmax: f64,
[INFO] [stdout]     |                 ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |         label: String,
[INFO] [stdout]     |                ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:122:16
[INFO] [stdout]     |
[INFO] [stdout] 122 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 123 |         label: String,
[INFO] [stdout]     |                ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:133:26
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn axes_set_position(&mut self, ax_id: usize, left: f64, bottom: f64, width: f64, height: f64) -> PyResult<()> {
[INFO] [stdout]     |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/colors.rs:282:25
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:133:44
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn axes_set_position(&mut self, ax_id: usize, left: f64, bottom: f64, width: f64, height: f64) -> PyResult<()> {
[INFO] [stdout]     |                                            ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:133:57
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn axes_set_position(&mut self, ax_id: usize, left: f64, bottom: f64, width: f64, height: f64) -> PyResult<()> {
[INFO] [stdout]     |                                                         ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            282 | pub fn parse_color(obj: &Bound<PyAny>) -> PyResult<(u8, u8, u8, u8)> {
[INFO] [stderr]                |                         ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]                = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/parse.rs:12:23
[INFO] [stderr]               |
[INFO] [stderr]            12 | pub fn parse_fmt(fmt: &str) -> (Option<String>, Option<String>, Option<String>) {
[INFO] [stderr]               |                       ^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/parse.rs:55:30
[INFO] [stderr]               |
[INFO] [stderr]            55 | pub fn color_char_to_name(c: &str) -> String {
[INFO] [stderr]               |                              ^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/parse.rs:73:34
[INFO] [stderr]               |
[INFO] [stderr]            73 | pub fn format_tick_scalar(value: f64, precision: Option<usize>) -> String {
[INFO] [stderr]               |                                  ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/parse.rs:99:35
[INFO] [stderr]               |
[INFO] [stderr]            99 | pub fn format_tick_percent(value: f64, xmax: f64, decimals: Option<usize>) -> String {
[INFO] [stderr]               |                                   ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/parse.rs:99:46
[INFO] [stderr]               |
[INFO] [stderr]            99 | pub fn format_tick_percent(value: f64, xmax: f64, decimals: Option<usize>) -> String {
[INFO] [stderr]               |                                              ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:111:39
[INFO] [stderr]                |
[INFO] [stderr]            111 | pub fn format_tick_engineering(value: f64, precision: Option<usize>) -> String {
[INFO] [stderr]                |                                       ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:144:31
[INFO] [stderr]                |
[INFO] [stderr]            144 | pub fn format_tick_log(value: f64, base: Option<f64>) -> String {
[INFO] [stderr]                |                               ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:166:35
[INFO] [stderr]                |
[INFO] [stderr]            166 | pub fn tick_values_multiple(vmin: f64, vmax: f64, base: f64) -> Vec<f64> {
[INFO] [stderr]                |                                   ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:166:46
[INFO] [stderr]                |
[INFO] [stderr]            166 | pub fn tick_values_multiple(vmin: f64, vmax: f64, base: f64) -> Vec<f64> {
[INFO] [stderr]                |                                              ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:166:57
[INFO] [stderr]                |
[INFO] [stderr]            166 | pub fn tick_values_multiple(vmin: f64, vmax: f64, base: f64) -> Vec<f64> {
[INFO] [stderr]                |                                                         ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:177:30
[INFO] [stderr]                |
[INFO] [stderr]            177 | pub fn tick_values_log(vmin: f64, vmax: f64, base: Option<f64>, numdecs: Option<usize>) -> Vec<f64> {
[INFO] [stderr]                |                              ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:177:41
[INFO] [stderr]                |
[INFO] [stderr]            177 | pub fn tick_values_log(vmin: f64, vmax: f64, base: Option<f64>, numdecs: Option<usize>) -> Vec<f64> {
[INFO] [stderr]                |                                         ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:203:33
[INFO] [stderr]                |
[INFO] [stderr]            203 | pub fn tick_values_linear(vmin: f64, vmax: f64, numticks: Option<usize>) -> Vec<f64> {
[INFO] [stderr]                |                                 ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:203:44
[INFO] [stderr]                |
[INFO] [stderr]            203 | pub fn tick_values_linear(vmin: f64, vmax: f64, numticks: Option<usize>) -> Vec<f64> {
[INFO] [stderr]                |                                            ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:220:18
[INFO] [stderr]                |
[INFO] [stderr]            220 |     data_arrays: Vec<Vec<f64>>,
[INFO] [stderr]                |                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:221:18
[INFO] [stderr]                |
[INFO] [stderr]            221 |     fmt_strings: Vec<Option<String>>,
[INFO] [stderr]                |                  ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:269:13
[INFO] [stderr]                |
[INFO] [stderr]            269 |     n_axes: usize,
[INFO] [stderr]                |             ^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:270:12
[INFO] [stderr]                |
[INFO] [stderr]            270 |     width: f64,
[INFO] [stderr]                |            ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:271:13
[INFO] [stderr]                |
[INFO] [stderr]            271 |     height: f64,
[INFO] [stderr]                |             ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:272:10
[INFO] [stderr]                |
[INFO] [stderr]            272 |     dpi: u32,
[INFO] [stderr]                |          ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:273:18
[INFO] [stderr]                |
[INFO] [stderr]            273 |     axes_titles: Vec<Option<String>>,
[INFO] [stderr]                |                  ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:274:19
[INFO] [stderr]                |
[INFO] [stderr]            274 |     axes_xlabels: Vec<Option<String>>,
[INFO] [stderr]                |                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:275:19
[INFO] [stderr]                |
[INFO] [stderr]            275 |     axes_ylabels: Vec<Option<String>>,
[INFO] [stderr]                |                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:310:28
[INFO] [stderr]                |
[INFO] [stderr]            310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                            ^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:310:42
[INFO] [stderr]                |
[INFO] [stderr]            310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                                          ^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:310:56
[INFO] [stderr]                |
[INFO] [stderr]            310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                                                        ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:310:65
[INFO] [stderr]                |
[INFO] [stderr]            310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                                                                 ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:310:81
[INFO] [stderr]                |
[INFO] [stderr]            310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                                                                                 ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:327:26
[INFO] [stderr]                |
[INFO] [stderr]            327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                          ^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:327:40
[INFO] [stderr]                |
[INFO] [stderr]            327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                                        ^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:327:54
[INFO] [stderr]                |
[INFO] [stderr]            327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                                                      ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:327:63
[INFO] [stderr]                |
[INFO] [stderr]            327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                                                               ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/parse.rs:327:79
[INFO] [stderr]                |
[INFO] [stderr]            327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stderr]                |                                                                               ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:14:28
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub fn hammer_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stderr]               |                            ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:14:38
[INFO] [stderr]               |
[INFO] [stderr]            14 | pub fn hammer_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stderr]               |                                      ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:25:28
[INFO] [stderr]               |
[INFO] [stderr]            25 | pub fn aitoff_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stderr]               |                            ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:25:38
[INFO] [stderr]               |
[INFO] [stderr]            25 | pub fn aitoff_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stderr]               |                                      ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:37:31
[INFO] [stderr]               |
[INFO] [stderr]            37 | pub fn mollweide_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stderr]               |                               ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:37:41
[INFO] [stderr]               |
[INFO] [stderr]            37 | pub fn mollweide_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stderr]               |                                         ^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:55:35
[INFO] [stderr]               |
[INFO] [stderr]            55 | pub fn hammer_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]               |                                   ^^^^^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:55:51
[INFO] [stderr]               |
[INFO] [stderr]            55 | pub fn hammer_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]               |                                                   ^^^^^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:69:35
[INFO] [stderr]               |
[INFO] [stderr]            69 | pub fn aitoff_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]               |                                   ^^^^^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:69:51
[INFO] [stderr]               |
[INFO] [stderr]            69 | pub fn aitoff_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]               |                                                   ^^^^^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:83:38
[INFO] [stderr]               |
[INFO] [stderr]            83 | pub fn mollweide_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]               |                                      ^^^^^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/projections.rs:83:54
[INFO] [stderr]               |
[INFO] [stderr]            83 | pub fn mollweide_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]               |                                                      ^^^^^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:104:29
[INFO] [stderr]                |
[INFO] [stderr]            104 | pub fn lambert_project(lon: f64, lat: f64, lat1: f64, lat2: f64) -> (f64, f64) {
[INFO] [stderr]                |                             ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:104:39
[INFO] [stderr]                |
[INFO] [stderr]            104 | pub fn lambert_project(lon: f64, lat: f64, lat1: f64, lat2: f64) -> (f64, f64) {
[INFO] [stderr]                |                                       ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:104:50
[INFO] [stderr]                |
[INFO] [stderr]            104 | pub fn lambert_project(lon: f64, lat: f64, lat1: f64, lat2: f64) -> (f64, f64) {
[INFO] [stderr]                |                                                  ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:104:61
[INFO] [stderr]                |
[INFO] [stderr]            104 | pub fn lambert_project(lon: f64, lat: f64, lat1: f64, lat2: f64) -> (f64, f64) {
[INFO] [stderr]                |                                                             ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:133:36
[INFO] [stderr]                |
[INFO] [stderr]            133 | pub fn lambert_project_batch(lons: Vec<f64>, lats: Vec<f64>, lat1: f64, lat2: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]                |                                    ^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:133:52
[INFO] [stderr]                |
[INFO] [stderr]            133 | pub fn lambert_project_batch(lons: Vec<f64>, lats: Vec<f64>, lat1: f64, lat2: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]                |                                                    ^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:133:68
[INFO] [stderr]                |
[INFO] [stderr]            133 | pub fn lambert_project_batch(lons: Vec<f64>, lats: Vec<f64>, lat1: f64, lat2: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]                |                                                                    ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:133:79
[INFO] [stderr]                |
[INFO] [stderr]            133 | pub fn lambert_project_batch(lons: Vec<f64>, lats: Vec<f64>, lat1: f64, lat2: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]                |                                                                               ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:154:35
[INFO] [stderr]                |
[INFO] [stderr]            154 | pub fn stereographic_project(lon: f64, lat: f64, lon0: f64, lat0: f64) -> (f64, f64) {
[INFO] [stderr]                |                                   ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:154:45
[INFO] [stderr]                |
[INFO] [stderr]            154 | pub fn stereographic_project(lon: f64, lat: f64, lon0: f64, lat0: f64) -> (f64, f64) {
[INFO] [stderr]                |                                             ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:154:56
[INFO] [stderr]                |
[INFO] [stderr]            154 | pub fn stereographic_project(lon: f64, lat: f64, lon0: f64, lat0: f64) -> (f64, f64) {
[INFO] [stderr]                |                                                        ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:154:67
[INFO] [stderr]                |
[INFO] [stderr]            154 | pub fn stereographic_project(lon: f64, lat: f64, lon0: f64, lat0: f64) -> (f64, f64) {
[INFO] [stderr]                |                                                                   ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:172:42
[INFO] [stderr]                |
[INFO] [stderr]            172 | pub fn stereographic_project_batch(lons: Vec<f64>, lats: Vec<f64>, lon0: f64, lat0: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]                |                                          ^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:172:58
[INFO] [stderr]                |
[INFO] [stderr]            172 | pub fn stereographic_project_batch(lons: Vec<f64>, lats: Vec<f64>, lon0: f64, lat0: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]                |                                                          ^^^^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:172:74
[INFO] [stderr]                |
[INFO] [stderr]            172 | pub fn stereographic_project_batch(lons: Vec<f64>, lats: Vec<f64>, lon0: f64, lat0: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]                |                                                                          ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:172:85
[INFO] [stderr]                |
[INFO] [stderr]            172 | pub fn stereographic_project_batch(lons: Vec<f64>, lats: Vec<f64>, lon0: f64, lat0: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stderr]                |                                                                                     ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:187:39
[INFO] [stderr]                |
[INFO] [stderr]            187 | pub fn generate_graticule(projection: &str, n_meridians: usize, n_parallels: usize, n_points: usize)
[INFO] [stderr]                |                                       ^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:187:58
[INFO] [stderr]                |
[INFO] [stderr]            187 | pub fn generate_graticule(projection: &str, n_meridians: usize, n_parallels: usize, n_points: usize)
[INFO] [stderr]                |                                                          ^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:187:78
[INFO] [stderr]                |
[INFO] [stderr]            187 | pub fn generate_graticule(projection: &str, n_meridians: usize, n_parallels: usize, n_points: usize)
[INFO] [stderr]                |                                                                              ^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/projections.rs:187:95
[INFO] [stderr]                |
[INFO] [stderr]            187 | pub fn generate_graticule(projection: &str, n_meridians: usize, n_parallels: usize, n_points: usize)
[INFO] [stderr]                |                                                                                               ^^^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/ticker.rs:143:25
[INFO] [stderr]                |
[INFO] [stderr]            143 | pub fn auto_ticks(vmin: f64, vmax: f64) -> Vec<f64> {
[INFO] [stderr]                |                         ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/ticker.rs:143:36
[INFO] [stderr]                |
[INFO] [stderr]            143 | pub fn auto_ticks(vmin: f64, vmax: f64) -> Vec<f64> {
[INFO] [stderr]                |                                    ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]               --> src/ticker.rs:149:25
[INFO] [stderr]                |
[INFO] [stderr]            149 | pub fn format_tick(val: f64) -> String {
[INFO] [stderr]                |                         ^^^ call to unsafe function
[INFO] [stderr]                |
[INFO] [stderr]                = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/lib.rs:20:32
[INFO] [stderr]               |
[INFO] [stderr]            20 | fn parse_math_symbols_py(text: &str) -> String {
[INFO] [stderr]               |                                ^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stderr]              --> src/lib.rs:26:19
[INFO] [stderr]               |
[INFO] [stderr]            26 | fn set_font(path: String) -> PyResult<()> {
[INFO] [stderr]               |                   ^^^^^^ call to unsafe function
[INFO] [stderr]               |
[INFO] [stderr]               = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 2 previous errors; 71 warnings emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0133`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:133:70
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn axes_set_position(&mut self, ax_id: usize, left: f64, bottom: f64, width: f64, height: f64) -> PyResult<()> {
[INFO] [stdout]     |                                                                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:133:82
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn axes_set_position(&mut self, ax_id: usize, left: f64, bottom: f64, width: f64, height: f64) -> PyResult<()> {
[INFO] [stdout]     |                                                                                  ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:133:95
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn axes_set_position(&mut self, ax_id: usize, left: f64, bottom: f64, width: f64, height: f64) -> PyResult<()> {
[INFO] [stdout]     |                                                                                               ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:140:27
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn axes_set_grid_span(&mut self, ax_id: usize, row_start: usize, row_end: usize, col_start: usize, col_end: usize) -> PyResult<...
[INFO] [stdout]     |                           ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:140:45
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn axes_set_grid_span(&mut self, ax_id: usize, row_start: usize, row_end: usize, col_start: usize, col_end: usize) -> PyResult<...
[INFO] [stdout]     |                                             ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:140:63
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn axes_set_grid_span(&mut self, ax_id: usize, row_start: usize, row_end: usize, col_start: usize, col_end: usize) -> PyResult<...
[INFO] [stdout]     |                                                               ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:140:79
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn axes_set_grid_span(&mut self, ax_id: usize, row_start: usize, row_end: usize, col_start: usize, col_end: usize) -> PyResult<...
[INFO] [stdout]     |                                                                               ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:140:97
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn axes_set_grid_span(&mut self, ax_id: usize, row_start: usize, row_end: usize, col_start: usize, col_end: usize) -> PyResult<...
[INFO] [stdout]     |                                                                                                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:140:113
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...size, row_end: usize, col_start: usize, col_end: usize) -> PyResult<()> {
[INFO] [stdout]     |                                                     ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn setup_subplots(&mut self, nrows: usize, ncols: usize) {
[INFO] [stdout]     |                       ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:147:41
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn setup_subplots(&mut self, nrows: usize, ncols: usize) {
[INFO] [stdout]     |                                         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:147:55
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn setup_subplots(&mut self, nrows: usize, ncols: usize) {
[INFO] [stdout]     |                                                       ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 158 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 |         x: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 |         y: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:232:16
[INFO] [stdout]     |
[INFO] [stdout] 232 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout] 233 |         x: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 234 |         y: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:279:16
[INFO] [stdout]     |
[INFO] [stdout] 279 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 280 |         x: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:281:18
[INFO] [stdout]     |
[INFO] [stdout] 281 |         heights: Vec<f64>,
[INFO] [stdout]     |                  ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:322:16
[INFO] [stdout]     |
[INFO] [stdout] 322 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:323:15
[INFO] [stdout]     |
[INFO] [stdout] 323 |         data: Vec<f64>,
[INFO] [stdout]     |               ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:324:17
[INFO] [stdout]     |
[INFO] [stdout] 324 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 351 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:352:16
[INFO] [stdout]     |
[INFO] [stdout] 352 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:353:15
[INFO] [stdout]     |
[INFO] [stdout] 353 |         data: Vec<Vec<f64>>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:401:9
[INFO] [stdout]     |
[INFO] [stdout] 401 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:402:16
[INFO] [stdout]     |
[INFO] [stdout] 402 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:403:15
[INFO] [stdout]     |
[INFO] [stdout] 403 |         data: Vec<Vec<Vec<f64>>>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:468:23
[INFO] [stdout]     |
[INFO] [stdout] 468 |     fn axes_set_title(&mut self, ax_id: usize, title: String, fontsize: Option<f32>, loc: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                       ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:468:41
[INFO] [stdout]     |
[INFO] [stdout] 468 |     fn axes_set_title(&mut self, ax_id: usize, title: String, fontsize: Option<f32>, loc: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                                         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:468:55
[INFO] [stdout]     |
[INFO] [stdout] 468 |     fn axes_set_title(&mut self, ax_id: usize, title: String, fontsize: Option<f32>, loc: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                                                       ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:482:24
[INFO] [stdout]     |
[INFO] [stdout] 482 |     fn axes_set_xlabel(&mut self, ax_id: usize, label: String, fontsize: Option<f32>, color: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:482:42
[INFO] [stdout]     |
[INFO] [stdout] 482 |     fn axes_set_xlabel(&mut self, ax_id: usize, label: String, fontsize: Option<f32>, color: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:482:56
[INFO] [stdout]     |
[INFO] [stdout] 482 |     fn axes_set_xlabel(&mut self, ax_id: usize, label: String, fontsize: Option<f32>, color: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                                                        ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:496:24
[INFO] [stdout]     |
[INFO] [stdout] 496 |     fn axes_set_ylabel(&mut self, ax_id: usize, label: String, fontsize: Option<f32>, color: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:496:42
[INFO] [stdout]     |
[INFO] [stdout] 496 |     fn axes_set_ylabel(&mut self, ax_id: usize, label: String, fontsize: Option<f32>, color: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:496:56
[INFO] [stdout]     |
[INFO] [stdout] 496 |     fn axes_set_ylabel(&mut self, ax_id: usize, label: String, fontsize: Option<f32>, color: Option<String>) -> PyResult<()> {
[INFO] [stdout]     |                                                        ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:509:22
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn axes_set_xlim(&mut self, ax_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:509:40
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn axes_set_xlim(&mut self, ax_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]     |                                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:509:51
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn axes_set_xlim(&mut self, ax_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]     |                                                   ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:509:60
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn axes_set_xlim(&mut self, ax_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]     |                                                            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:516:22
[INFO] [stdout]     |
[INFO] [stdout] 516 |     fn axes_set_ylim(&mut self, ax_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:516:40
[INFO] [stdout]     |
[INFO] [stdout] 516 |     fn axes_set_ylim(&mut self, ax_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]     |                                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:516:51
[INFO] [stdout]     |
[INFO] [stdout] 516 |     fn axes_set_ylim(&mut self, ax_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]     |                                                   ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:516:60
[INFO] [stdout]     |
[INFO] [stdout] 516 |     fn axes_set_ylim(&mut self, ax_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]     |                                                            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:523:20
[INFO] [stdout]     |
[INFO] [stdout] 523 |     fn axes_legend(&mut self, ax_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]     |                    ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:523:38
[INFO] [stdout]     |
[INFO] [stdout] 523 |     fn axes_legend(&mut self, ax_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]     |                                      ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:523:53
[INFO] [stdout]     |
[INFO] [stdout] 523 |     fn axes_legend(&mut self, ax_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:540:18
[INFO] [stdout]     |
[INFO] [stdout] 540 |     fn axes_grid(&mut self, ax_id: usize, visible: bool, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:540:36
[INFO] [stdout]     |
[INFO] [stdout] 540 |     fn axes_grid(&mut self, ax_id: usize, visible: bool, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]     |                                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:540:52
[INFO] [stdout]     |
[INFO] [stdout] 540 |     fn axes_grid(&mut self, ax_id: usize, visible: bool, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]     |                                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:540:66
[INFO] [stdout]     |
[INFO] [stdout] 540 |     fn axes_grid(&mut self, ax_id: usize, visible: bool, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:567:9
[INFO] [stdout]     |
[INFO] [stdout] 567 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:568:16
[INFO] [stdout]     |
[INFO] [stdout] 568 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:569:12
[INFO] [stdout]     |
[INFO] [stdout] 569 |         x: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:570:13
[INFO] [stdout]     |
[INFO] [stdout] 570 |         y1: Vec<f64>,
[INFO] [stdout]     |             ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:571:13
[INFO] [stdout]     |
[INFO] [stdout] 571 |         y2: Vec<f64>,
[INFO] [stdout]     |             ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:572:17
[INFO] [stdout]     |
[INFO] [stdout] 572 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout] 595 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:596:16
[INFO] [stdout]     |
[INFO] [stdout] 596 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:597:12
[INFO] [stdout]     |
[INFO] [stdout] 597 |         x: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 598 |         y: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:599:17
[INFO] [stdout]     |
[INFO] [stdout] 599 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:642:9
[INFO] [stdout]     |
[INFO] [stdout] 642 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:643:16
[INFO] [stdout]     |
[INFO] [stdout] 643 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:644:16
[INFO] [stdout]     |
[INFO] [stdout] 644 |         sizes: Vec<f64>,
[INFO] [stdout]     |                ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:645:17
[INFO] [stdout]     |
[INFO] [stdout] 645 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:679:9
[INFO] [stdout]     |
[INFO] [stdout] 679 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:680:16
[INFO] [stdout]     |
[INFO] [stdout] 680 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:681:12
[INFO] [stdout]     |
[INFO] [stdout] 681 |         y: f64,
[INFO] [stdout]     |            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:682:17
[INFO] [stdout]     |
[INFO] [stdout] 682 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:715:9
[INFO] [stdout]     |
[INFO] [stdout] 715 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:716:16
[INFO] [stdout]     |
[INFO] [stdout] 716 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:717:12
[INFO] [stdout]     |
[INFO] [stdout] 717 |         x: f64,
[INFO] [stdout]     |            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:718:17
[INFO] [stdout]     |
[INFO] [stdout] 718 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:750:24
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn axes_set_xscale(&mut self, ax_id: usize, scale: String) -> PyResult<()> {
[INFO] [stdout]     |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:750:42
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn axes_set_xscale(&mut self, ax_id: usize, scale: String) -> PyResult<()> {
[INFO] [stdout]     |                                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:750:56
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn axes_set_xscale(&mut self, ax_id: usize, scale: String) -> PyResult<()> {
[INFO] [stdout]     |                                                        ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:757:24
[INFO] [stdout]     |
[INFO] [stdout] 757 |     fn axes_set_yscale(&mut self, ax_id: usize, scale: String) -> PyResult<()> {
[INFO] [stdout]     |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:757:42
[INFO] [stdout]     |
[INFO] [stdout] 757 |     fn axes_set_yscale(&mut self, ax_id: usize, scale: String) -> PyResult<()> {
[INFO] [stdout]     |                                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:757:56
[INFO] [stdout]     |
[INFO] [stdout] 757 |     fn axes_set_yscale(&mut self, ax_id: usize, scale: String) -> PyResult<()> {
[INFO] [stdout]     |                                                        ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:765:9
[INFO] [stdout]     |
[INFO] [stdout] 765 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:766:16
[INFO] [stdout]     |
[INFO] [stdout] 766 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:767:12
[INFO] [stdout]     |
[INFO] [stdout] 767 |         x: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:768:12
[INFO] [stdout]     |
[INFO] [stdout] 768 |         y: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:769:17
[INFO] [stdout]     |
[INFO] [stdout] 769 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:831:9
[INFO] [stdout]     |
[INFO] [stdout] 831 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:832:16
[INFO] [stdout]     |
[INFO] [stdout] 832 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:833:12
[INFO] [stdout]     |
[INFO] [stdout] 833 |         y: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:834:17
[INFO] [stdout]     |
[INFO] [stdout] 834 |         widths: Vec<f64>,
[INFO] [stdout]     |                 ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:835:17
[INFO] [stdout]     |
[INFO] [stdout] 835 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:862:9
[INFO] [stdout]     |
[INFO] [stdout] 862 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:863:16
[INFO] [stdout]     |
[INFO] [stdout] 863 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:864:15
[INFO] [stdout]     |
[INFO] [stdout] 864 |         data: Vec<Vec<f64>>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:865:17
[INFO] [stdout]     |
[INFO] [stdout] 865 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:892:9
[INFO] [stdout]     |
[INFO] [stdout] 892 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:893:16
[INFO] [stdout]     |
[INFO] [stdout] 893 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:894:12
[INFO] [stdout]     |
[INFO] [stdout] 894 |         x: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:895:12
[INFO] [stdout]     |
[INFO] [stdout] 895 |         y: Vec<f64>,
[INFO] [stdout]     |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:896:17
[INFO] [stdout]     |
[INFO] [stdout] 896 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:939:9
[INFO] [stdout]     |
[INFO] [stdout] 939 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:940:16
[INFO] [stdout]     |
[INFO] [stdout] 940 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:941:12
[INFO] [stdout]     |
[INFO] [stdout] 941 |         x: f64,
[INFO] [stdout]     |            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:942:12
[INFO] [stdout]     |
[INFO] [stdout] 942 |         y: f64,
[INFO] [stdout]     |            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:943:15
[INFO] [stdout]     |
[INFO] [stdout] 943 |         text: String,
[INFO] [stdout]     |               ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:944:17
[INFO] [stdout]     |
[INFO] [stdout] 944 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:973:9
[INFO] [stdout]     |
[INFO] [stdout] 973 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:974:16
[INFO] [stdout]     |
[INFO] [stdout] 974 |         ax_id: usize,
[INFO] [stdout]     |                ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:975:15
[INFO] [stdout]     |
[INFO] [stdout] 975 |         text: String,
[INFO] [stdout]     |               ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:976:13
[INFO] [stdout]     |
[INFO] [stdout] 976 |         xy: (f64, f64),
[INFO] [stdout]     |             ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:977:17
[INFO] [stdout]     |
[INFO] [stdout] 977 |         xytext: (f64, f64),
[INFO] [stdout]     |                 ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/figure.rs:978:17
[INFO] [stdout]     |
[INFO] [stdout] 978 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1057:17
[INFO] [stdout]      |
[INFO] [stdout] 1057 |     fn suptitle(&mut self, text: String, fontsize: Option<f32>) {
[INFO] [stdout]      |                 ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1057:34
[INFO] [stdout]      |
[INFO] [stdout] 1057 |     fn suptitle(&mut self, text: String, fontsize: Option<f32>) {
[INFO] [stdout]      |                                  ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1065:24
[INFO] [stdout]      |
[INFO] [stdout] 1065 |     fn subplots_adjust(&mut self, hspace: Option<f32>, wspace: Option<f32>) {
[INFO] [stdout]      |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1074:26
[INFO] [stdout]      |
[INFO] [stdout] 1074 |     fn axes_set_axis_off(&mut self, ax_id: usize, off: bool) -> PyResult<()> {
[INFO] [stdout]      |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1074:44
[INFO] [stdout]      |
[INFO] [stdout] 1074 |     fn axes_set_axis_off(&mut self, ax_id: usize, off: bool) -> PyResult<()> {
[INFO] [stdout]      |                                            ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1074:56
[INFO] [stdout]      |
[INFO] [stdout] 1074 |     fn axes_set_axis_off(&mut self, ax_id: usize, off: bool) -> PyResult<()> {
[INFO] [stdout]      |                                                        ^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1081:24
[INFO] [stdout]      |
[INFO] [stdout] 1081 |     fn axes_set_xticks(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1081:42
[INFO] [stdout]      |
[INFO] [stdout] 1081 |     fn axes_set_xticks(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                                          ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1081:56
[INFO] [stdout]      |
[INFO] [stdout] 1081 |     fn axes_set_xticks(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                                                        ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1088:24
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     fn axes_set_yticks(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1088:42
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     fn axes_set_yticks(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                                          ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1088:56
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     fn axes_set_yticks(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                                                        ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1095:30
[INFO] [stdout]      |
[INFO] [stdout] 1095 |     fn axes_set_xticks_minor(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                              ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1095:48
[INFO] [stdout]      |
[INFO] [stdout] 1095 |     fn axes_set_xticks_minor(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                                                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1095:62
[INFO] [stdout]      |
[INFO] [stdout] 1095 |     fn axes_set_xticks_minor(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                                                              ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1102:30
[INFO] [stdout]      |
[INFO] [stdout] 1102 |     fn axes_set_yticks_minor(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                              ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1102:48
[INFO] [stdout]      |
[INFO] [stdout] 1102 |     fn axes_set_yticks_minor(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                                                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1102:62
[INFO] [stdout]      |
[INFO] [stdout] 1102 |     fn axes_set_yticks_minor(&mut self, ax_id: usize, ticks: Vec<f64>) -> PyResult<()> {
[INFO] [stdout]      |                                                              ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1109:29
[INFO] [stdout]      |
[INFO] [stdout] 1109 |     fn axes_set_xticklabels(&mut self, ax_id: usize, labels: Vec<String>) -> PyResult<()> {
[INFO] [stdout]      |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1109:47
[INFO] [stdout]      |
[INFO] [stdout] 1109 |     fn axes_set_xticklabels(&mut self, ax_id: usize, labels: Vec<String>) -> PyResult<()> {
[INFO] [stdout]      |                                               ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1109:62
[INFO] [stdout]      |
[INFO] [stdout] 1109 |     fn axes_set_xticklabels(&mut self, ax_id: usize, labels: Vec<String>) -> PyResult<()> {
[INFO] [stdout]      |                                                              ^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1116:29
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     fn axes_set_yticklabels(&mut self, ax_id: usize, labels: Vec<String>) -> PyResult<()> {
[INFO] [stdout]      |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1116:47
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     fn axes_set_yticklabels(&mut self, ax_id: usize, labels: Vec<String>) -> PyResult<()> {
[INFO] [stdout]      |                                               ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1116:62
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     fn axes_set_yticklabels(&mut self, ax_id: usize, labels: Vec<String>) -> PyResult<()> {
[INFO] [stdout]      |                                                              ^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1123:24
[INFO] [stdout]      |
[INFO] [stdout] 1123 |     fn axes_set_aspect(&mut self, ax_id: usize, aspect: String) -> PyResult<()> {
[INFO] [stdout]      |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1123:42
[INFO] [stdout]      |
[INFO] [stdout] 1123 |     fn axes_set_aspect(&mut self, ax_id: usize, aspect: String) -> PyResult<()> {
[INFO] [stdout]      |                                          ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1123:57
[INFO] [stdout]      |
[INFO] [stdout] 1123 |     fn axes_set_aspect(&mut self, ax_id: usize, aspect: String) -> PyResult<()> {
[INFO] [stdout]      |                                                         ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1133:26
[INFO] [stdout]      |
[INFO] [stdout] 1133 |     fn axes_invert_xaxis(&mut self, ax_id: usize) -> PyResult<()> {
[INFO] [stdout]      |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1133:44
[INFO] [stdout]      |
[INFO] [stdout] 1133 |     fn axes_invert_xaxis(&mut self, ax_id: usize) -> PyResult<()> {
[INFO] [stdout]      |                                            ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1140:26
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     fn axes_invert_yaxis(&mut self, ax_id: usize) -> PyResult<()> {
[INFO] [stdout]      |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1140:44
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     fn axes_invert_yaxis(&mut self, ax_id: usize) -> PyResult<()> {
[INFO] [stdout]      |                                            ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1148:9
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1149:16
[INFO] [stdout]      |
[INFO] [stdout] 1149 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1150:15
[INFO] [stdout]      |
[INFO] [stdout] 1150 |         ymin: f64,
[INFO] [stdout]      |               ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1151:15
[INFO] [stdout]      |
[INFO] [stdout] 1151 |         ymax: f64,
[INFO] [stdout]      |               ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1152:17
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1172:9
[INFO] [stdout]      |
[INFO] [stdout] 1172 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1173:16
[INFO] [stdout]      |
[INFO] [stdout] 1173 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1174:15
[INFO] [stdout]      |
[INFO] [stdout] 1174 |         xmin: f64,
[INFO] [stdout]      |               ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1175:15
[INFO] [stdout]      |
[INFO] [stdout] 1175 |         xmax: f64,
[INFO] [stdout]      |               ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1176:17
[INFO] [stdout]      |
[INFO] [stdout] 1176 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1196:9
[INFO] [stdout]      |
[INFO] [stdout] 1196 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1197:16
[INFO] [stdout]      |
[INFO] [stdout] 1197 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1198:12
[INFO] [stdout]      |
[INFO] [stdout] 1198 |         x: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1199:12
[INFO] [stdout]      |
[INFO] [stdout] 1199 |         y: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1200:12
[INFO] [stdout]      |
[INFO] [stdout] 1200 |         z: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1201:17
[INFO] [stdout]      |
[INFO] [stdout] 1201 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1222:9
[INFO] [stdout]      |
[INFO] [stdout] 1222 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1223:16
[INFO] [stdout]      |
[INFO] [stdout] 1223 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1224:12
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         x: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1225:12
[INFO] [stdout]      |
[INFO] [stdout] 1225 |         y: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1226:12
[INFO] [stdout]      |
[INFO] [stdout] 1226 |         z: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1227:17
[INFO] [stdout]      |
[INFO] [stdout] 1227 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1241:9
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1242:16
[INFO] [stdout]      |
[INFO] [stdout] 1242 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1243:12
[INFO] [stdout]      |
[INFO] [stdout] 1243 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1244:12
[INFO] [stdout]      |
[INFO] [stdout] 1244 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1245:17
[INFO] [stdout]      |
[INFO] [stdout] 1245 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1273:9
[INFO] [stdout]      |
[INFO] [stdout] 1273 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1274:16
[INFO] [stdout]      |
[INFO] [stdout] 1274 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1275:21
[INFO] [stdout]      |
[INFO] [stdout] 1275 |         patch_type: String,
[INFO] [stdout]      |                     ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1276:17
[INFO] [stdout]      |
[INFO] [stdout] 1276 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1343:9
[INFO] [stdout]      |
[INFO] [stdout] 1343 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1344:16
[INFO] [stdout]      |
[INFO] [stdout] 1344 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1345:12
[INFO] [stdout]      |
[INFO] [stdout] 1345 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1346:15
[INFO] [stdout]      |
[INFO] [stdout] 1346 |         xmin: f64,
[INFO] [stdout]      |               ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1347:15
[INFO] [stdout]      |
[INFO] [stdout] 1347 |         xmax: f64,
[INFO] [stdout]      |               ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1348:17
[INFO] [stdout]      |
[INFO] [stdout] 1348 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1380:9
[INFO] [stdout]      |
[INFO] [stdout] 1380 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1381:16
[INFO] [stdout]      |
[INFO] [stdout] 1381 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1382:12
[INFO] [stdout]      |
[INFO] [stdout] 1382 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1383:15
[INFO] [stdout]      |
[INFO] [stdout] 1383 |         ymin: f64,
[INFO] [stdout]      |               ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1384:15
[INFO] [stdout]      |
[INFO] [stdout] 1384 |         ymax: f64,
[INFO] [stdout]      |               ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1385:17
[INFO] [stdout]      |
[INFO] [stdout] 1385 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1417:9
[INFO] [stdout]      |
[INFO] [stdout] 1417 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1418:16
[INFO] [stdout]      |
[INFO] [stdout] 1418 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1419:15
[INFO] [stdout]      |
[INFO] [stdout] 1419 |         data: Vec<Vec<f64>>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1420:17
[INFO] [stdout]      |
[INFO] [stdout] 1420 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1462:9
[INFO] [stdout]      |
[INFO] [stdout] 1462 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1463:16
[INFO] [stdout]      |
[INFO] [stdout] 1463 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1464:12
[INFO] [stdout]      |
[INFO] [stdout] 1464 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1465:13
[INFO] [stdout]      |
[INFO] [stdout] 1465 |         x1: Vec<f64>,
[INFO] [stdout]      |             ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1466:13
[INFO] [stdout]      |
[INFO] [stdout] 1466 |         x2: Vec<f64>,
[INFO] [stdout]      |             ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1467:17
[INFO] [stdout]      |
[INFO] [stdout] 1467 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1489:9
[INFO] [stdout]      |
[INFO] [stdout] 1489 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1490:16
[INFO] [stdout]      |
[INFO] [stdout] 1490 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1491:17
[INFO] [stdout]      |
[INFO] [stdout] 1491 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1520:23
[INFO] [stdout]      |
[INFO] [stdout] 1520 |     fn axes_set_polar(&mut self, ax_id: usize, polar: bool) -> PyResult<()> {
[INFO] [stdout]      |                       ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1520:41
[INFO] [stdout]      |
[INFO] [stdout] 1520 |     fn axes_set_polar(&mut self, ax_id: usize, polar: bool) -> PyResult<()> {
[INFO] [stdout]      |                                         ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1520:55
[INFO] [stdout]      |
[INFO] [stdout] 1520 |     fn axes_set_polar(&mut self, ax_id: usize, polar: bool) -> PyResult<()> {
[INFO] [stdout]      |                                                       ^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1527:19
[INFO] [stdout]      |
[INFO] [stdout] 1527 |     fn axes_twinx(&mut self, ax_id: usize) -> PyResult<usize> {
[INFO] [stdout]      |                   ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1527:37
[INFO] [stdout]      |
[INFO] [stdout] 1527 |     fn axes_twinx(&mut self, ax_id: usize) -> PyResult<usize> {
[INFO] [stdout]      |                                     ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1538:9
[INFO] [stdout]      |
[INFO] [stdout] 1538 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1539:18
[INFO] [stdout]      |
[INFO] [stdout] 1539 |         twin_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1540:12
[INFO] [stdout]      |
[INFO] [stdout] 1540 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1541:12
[INFO] [stdout]      |
[INFO] [stdout] 1541 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1542:17
[INFO] [stdout]      |
[INFO] [stdout] 1542 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1588:29
[INFO] [stdout]      |
[INFO] [stdout] 1588 |     fn twin_axes_set_ylabel(&mut self, twin_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1588:49
[INFO] [stdout]      |
[INFO] [stdout] 1588 |     fn twin_axes_set_ylabel(&mut self, twin_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                                 ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1588:63
[INFO] [stdout]      |
[INFO] [stdout] 1588 |     fn twin_axes_set_ylabel(&mut self, twin_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                                               ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1601:27
[INFO] [stdout]      |
[INFO] [stdout] 1601 |     fn twin_axes_set_ylim(&mut self, twin_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                           ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1601:47
[INFO] [stdout]      |
[INFO] [stdout] 1601 |     fn twin_axes_set_ylim(&mut self, twin_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                               ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1601:58
[INFO] [stdout]      |
[INFO] [stdout] 1601 |     fn twin_axes_set_ylim(&mut self, twin_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                          ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1601:67
[INFO] [stdout]      |
[INFO] [stdout] 1601 |     fn twin_axes_set_ylim(&mut self, twin_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                                   ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1611:25
[INFO] [stdout]      |
[INFO] [stdout] 1611 |     fn twin_axes_legend(&mut self, twin_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1611:45
[INFO] [stdout]      |
[INFO] [stdout] 1611 |     fn twin_axes_legend(&mut self, twin_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                                             ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1611:60
[INFO] [stdout]      |
[INFO] [stdout] 1611 |     fn twin_axes_legend(&mut self, twin_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                                                            ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1625:9
[INFO] [stdout]      |
[INFO] [stdout] 1625 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1626:18
[INFO] [stdout]      |
[INFO] [stdout] 1626 |         twin_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1627:12
[INFO] [stdout]      |
[INFO] [stdout] 1627 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1628:12
[INFO] [stdout]      |
[INFO] [stdout] 1628 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1629:17
[INFO] [stdout]      |
[INFO] [stdout] 1629 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1661:9
[INFO] [stdout]      |
[INFO] [stdout] 1661 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1662:18
[INFO] [stdout]      |
[INFO] [stdout] 1662 |         twin_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1663:12
[INFO] [stdout]      |
[INFO] [stdout] 1663 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1664:18
[INFO] [stdout]      |
[INFO] [stdout] 1664 |         heights: Vec<f64>,
[INFO] [stdout]      |                  ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1665:17
[INFO] [stdout]      |
[INFO] [stdout] 1665 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1694:19
[INFO] [stdout]      |
[INFO] [stdout] 1694 |     fn axes_twiny(&mut self, ax_id: usize) -> PyResult<usize> {
[INFO] [stdout]      |                   ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1694:37
[INFO] [stdout]      |
[INFO] [stdout] 1694 |     fn axes_twiny(&mut self, ax_id: usize) -> PyResult<usize> {
[INFO] [stdout]      |                                     ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1703:9
[INFO] [stdout]      |
[INFO] [stdout] 1703 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1704:18
[INFO] [stdout]      |
[INFO] [stdout] 1704 |         twin_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1705:12
[INFO] [stdout]      |
[INFO] [stdout] 1705 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1706:12
[INFO] [stdout]      |
[INFO] [stdout] 1706 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1707:17
[INFO] [stdout]      |
[INFO] [stdout] 1707 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1753:30
[INFO] [stdout]      |
[INFO] [stdout] 1753 |     fn twiny_axes_set_xlabel(&mut self, twin_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                              ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1753:50
[INFO] [stdout]      |
[INFO] [stdout] 1753 |     fn twiny_axes_set_xlabel(&mut self, twin_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1753:64
[INFO] [stdout]      |
[INFO] [stdout] 1753 |     fn twiny_axes_set_xlabel(&mut self, twin_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                                                ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1766:28
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     fn twiny_axes_set_xlim(&mut self, twin_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                            ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1766:48
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     fn twiny_axes_set_xlim(&mut self, twin_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1766:59
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     fn twiny_axes_set_xlim(&mut self, twin_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                           ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1766:68
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     fn twiny_axes_set_xlim(&mut self, twin_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                                    ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1776:26
[INFO] [stdout]      |
[INFO] [stdout] 1776 |     fn twiny_axes_legend(&mut self, twin_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1776:46
[INFO] [stdout]      |
[INFO] [stdout] 1776 |     fn twiny_axes_legend(&mut self, twin_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                                              ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1776:61
[INFO] [stdout]      |
[INFO] [stdout] 1776 |     fn twiny_axes_legend(&mut self, twin_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1790:9
[INFO] [stdout]      |
[INFO] [stdout] 1790 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1791:18
[INFO] [stdout]      |
[INFO] [stdout] 1791 |         twin_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1792:12
[INFO] [stdout]      |
[INFO] [stdout] 1792 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1793:12
[INFO] [stdout]      |
[INFO] [stdout] 1793 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1794:17
[INFO] [stdout]      |
[INFO] [stdout] 1794 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1828:9
[INFO] [stdout]      |
[INFO] [stdout] 1828 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1829:16
[INFO] [stdout]      |
[INFO] [stdout] 1829 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1830:17
[INFO] [stdout]      |
[INFO] [stdout] 1830 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1883:9
[INFO] [stdout]      |
[INFO] [stdout] 1883 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1884:16
[INFO] [stdout]      |
[INFO] [stdout] 1884 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1885:12
[INFO] [stdout]      |
[INFO] [stdout] 1885 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1886:12
[INFO] [stdout]      |
[INFO] [stdout] 1886 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1887:12
[INFO] [stdout]      |
[INFO] [stdout] 1887 |         u: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1888:12
[INFO] [stdout]      |
[INFO] [stdout] 1888 |         v: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1889:17
[INFO] [stdout]      |
[INFO] [stdout] 1889 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1911:9
[INFO] [stdout]      |
[INFO] [stdout] 1911 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1912:16
[INFO] [stdout]      |
[INFO] [stdout] 1912 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1913:12
[INFO] [stdout]      |
[INFO] [stdout] 1913 |         x: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1914:12
[INFO] [stdout]      |
[INFO] [stdout] 1914 |         y: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1915:12
[INFO] [stdout]      |
[INFO] [stdout] 1915 |         u: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1916:12
[INFO] [stdout]      |
[INFO] [stdout] 1916 |         v: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1917:17
[INFO] [stdout]      |
[INFO] [stdout] 1917 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1939:9
[INFO] [stdout]      |
[INFO] [stdout] 1939 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1940:16
[INFO] [stdout]      |
[INFO] [stdout] 1940 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1941:12
[INFO] [stdout]      |
[INFO] [stdout] 1941 |         x: f64,
[INFO] [stdout]      |            ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1942:12
[INFO] [stdout]      |
[INFO] [stdout] 1942 |         y: f64,
[INFO] [stdout]      |            ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1943:13
[INFO] [stdout]      |
[INFO] [stdout] 1943 |         dx: f64,
[INFO] [stdout]      |             ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1944:13
[INFO] [stdout]      |
[INFO] [stdout] 1944 |         dy: f64,
[INFO] [stdout]      |             ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1945:17
[INFO] [stdout]      |
[INFO] [stdout] 1945 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1983:9
[INFO] [stdout]      |
[INFO] [stdout] 1983 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1984:16
[INFO] [stdout]      |
[INFO] [stdout] 1984 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1985:19
[INFO] [stdout]      |
[INFO] [stdout] 1985 |         segments: Vec<Vec<(f64, f64)>>,
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:1986:17
[INFO] [stdout]      |
[INFO] [stdout] 1986 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2016:9
[INFO] [stdout]      |
[INFO] [stdout] 2016 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2017:16
[INFO] [stdout]      |
[INFO] [stdout] 2017 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2018:16
[INFO] [stdout]      |
[INFO] [stdout] 2018 |         pos_a: (f64, f64),
[INFO] [stdout]      |                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2019:16
[INFO] [stdout]      |
[INFO] [stdout] 2019 |         pos_b: (f64, f64),
[INFO] [stdout]      |                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2020:17
[INFO] [stdout]      |
[INFO] [stdout] 2020 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2083:9
[INFO] [stdout]      |
[INFO] [stdout] 2083 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2084:16
[INFO] [stdout]      |
[INFO] [stdout] 2084 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2085:14
[INFO] [stdout]      |
[INFO] [stdout] 2085 |         xy1: (f64, f64),
[INFO] [stdout]      |              ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2086:17
[INFO] [stdout]      |
[INFO] [stdout] 2086 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2120:17
[INFO] [stdout]      |
[INFO] [stdout] 2120 |     fn num_axes(&self) -> usize {
[INFO] [stdout]      |                 ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/figure.rs:29:1
[INFO] [stdout]      |
[INFO] [stdout]   29 | #[pymethods]
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2124:22
[INFO] [stdout]      |
[INFO] [stdout] 2124 |     fn axes_get_xlim(&self, ax_id: usize) -> PyResult<(f64, f64)> {
[INFO] [stdout]      |                      ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2124:36
[INFO] [stdout]      |
[INFO] [stdout] 2124 |     fn axes_get_xlim(&self, ax_id: usize) -> PyResult<(f64, f64)> {
[INFO] [stdout]      |                                    ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2136:22
[INFO] [stdout]      |
[INFO] [stdout] 2136 |     fn axes_get_ylim(&self, ax_id: usize) -> PyResult<(f64, f64)> {
[INFO] [stdout]      |                      ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2136:36
[INFO] [stdout]      |
[INFO] [stdout] 2136 |     fn axes_get_ylim(&self, ax_id: usize) -> PyResult<(f64, f64)> {
[INFO] [stdout]      |                                    ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2148:19
[INFO] [stdout]      |
[INFO] [stdout] 2148 |     fn axes_clear(&mut self, ax_id: usize) -> PyResult<()> {
[INFO] [stdout]      |                   ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2148:37
[INFO] [stdout]      |
[INFO] [stdout] 2148 |     fn axes_clear(&mut self, ax_id: usize) -> PyResult<()> {
[INFO] [stdout]      |                                     ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2155:25
[INFO] [stdout]      |
[INFO] [stdout] 2155 |     fn axes_tick_params(&mut self, ax_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2155:43
[INFO] [stdout]      |
[INFO] [stdout] 2155 |     fn axes_tick_params(&mut self, ax_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                                           ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2155:58
[INFO] [stdout]      |
[INFO] [stdout] 2155 |     fn axes_tick_params(&mut self, ax_id: usize, kwargs: &Bound<'_, PyDict>) -> PyResult<()> {
[INFO] [stdout]      |                                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2194:31
[INFO] [stdout]      |
[INFO] [stdout] 2194 |     fn axes_set_spine_visible(&mut self, ax_id: usize, which: String, visible: bool) -> PyResult<()> {
[INFO] [stdout]      |                               ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2194:49
[INFO] [stdout]      |
[INFO] [stdout] 2194 |     fn axes_set_spine_visible(&mut self, ax_id: usize, which: String, visible: bool) -> PyResult<()> {
[INFO] [stdout]      |                                                 ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2194:63
[INFO] [stdout]      |
[INFO] [stdout] 2194 |     fn axes_set_spine_visible(&mut self, ax_id: usize, which: String, visible: bool) -> PyResult<()> {
[INFO] [stdout]      |                                                               ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2194:80
[INFO] [stdout]      |
[INFO] [stdout] 2194 |     fn axes_set_spine_visible(&mut self, ax_id: usize, which: String, visible: bool) -> PyResult<()> {
[INFO] [stdout]      |                                                                                ^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2201:27
[INFO] [stdout]      |
[INFO] [stdout] 2201 |     fn axes_set_facecolor(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                           ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2201:45
[INFO] [stdout]      |
[INFO] [stdout] 2201 |     fn axes_set_facecolor(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                             ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2201:59
[INFO] [stdout]      |
[INFO] [stdout] 2201 |     fn axes_set_facecolor(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2208:22
[INFO] [stdout]      |
[INFO] [stdout] 2208 |     fn set_facecolor(&mut self, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2208:40
[INFO] [stdout]      |
[INFO] [stdout] 2208 |     fn set_facecolor(&mut self, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2213:28
[INFO] [stdout]      |
[INFO] [stdout] 2213 |     fn axes_set_text_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                            ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2213:46
[INFO] [stdout]      |
[INFO] [stdout] 2213 |     fn axes_set_text_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                              ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2213:60
[INFO] [stdout]      |
[INFO] [stdout] 2213 |     fn axes_set_text_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                                            ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2220:28
[INFO] [stdout]      |
[INFO] [stdout] 2220 |     fn axes_set_tick_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                            ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2220:46
[INFO] [stdout]      |
[INFO] [stdout] 2220 |     fn axes_set_tick_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                              ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2220:60
[INFO] [stdout]      |
[INFO] [stdout] 2220 |     fn axes_set_tick_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                                            ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2227:29
[INFO] [stdout]      |
[INFO] [stdout] 2227 |     fn axes_set_spine_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                             ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2227:47
[INFO] [stdout]      |
[INFO] [stdout] 2227 |     fn axes_set_spine_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                               ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2227:61
[INFO] [stdout]      |
[INFO] [stdout] 2227 |     fn axes_set_spine_color(&mut self, ax_id: usize, color: &Bound<'_, pyo3::PyAny>) -> PyResult<()> {
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2234:33
[INFO] [stdout]      |
[INFO] [stdout] 2234 |     fn axes_set_spine_linewidth(&mut self, ax_id: usize, lw: f64) -> PyResult<()> {
[INFO] [stdout]      |                                 ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2234:51
[INFO] [stdout]      |
[INFO] [stdout] 2234 |     fn axes_set_spine_linewidth(&mut self, ax_id: usize, lw: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                   ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2234:62
[INFO] [stdout]      |
[INFO] [stdout] 2234 |     fn axes_set_spine_linewidth(&mut self, ax_id: usize, lw: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                              ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2241:33
[INFO] [stdout]      |
[INFO] [stdout] 2241 |     fn render_to_png_bytes<'py>(&self, py: Python<'py>) -> PyResult<Bound<'py, PyBytes>> {
[INFO] [stdout]      |                                 ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/figure.rs:29:1
[INFO] [stdout]      |
[INFO] [stdout]   29 | #[pymethods]
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2249:29
[INFO] [stdout]      |
[INFO] [stdout] 2249 |     fn render_to_svg_string(&self) -> PyResult<String> {
[INFO] [stdout]      |                             ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/figure.rs:29:1
[INFO] [stdout]      |
[INFO] [stdout]   29 | #[pymethods]
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2255:35
[INFO] [stdout]      |
[INFO] [stdout] 2255 |     fn render_to_rgba_buffer<'py>(&self, py: Python<'py>) -> PyResult<(Bound<'py, PyBytes>, u32, u32)> {
[INFO] [stdout]      |                                   ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/figure.rs:29:1
[INFO] [stdout]      |
[INFO] [stdout]   29 | #[pymethods]
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2277:16
[INFO] [stdout]      |
[INFO] [stdout] 2277 |     fn savefig(&self, path: String, dpi: Option<u32>, transparent: Option<bool>, tight: Option<bool>) -> PyResult<()> {
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2277:29
[INFO] [stdout]      |
[INFO] [stdout] 2277 |     fn savefig(&self, path: String, dpi: Option<u32>, transparent: Option<bool>, tight: Option<bool>) -> PyResult<()> {
[INFO] [stdout]      |                             ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2338:9
[INFO] [stdout]      |
[INFO] [stdout] 2338 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2339:16
[INFO] [stdout]      |
[INFO] [stdout] 2339 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2340:21
[INFO] [stdout]      |
[INFO] [stdout] 2340 |         categories: Vec<String>,
[INFO] [stdout]      |                     ^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2341:17
[INFO] [stdout]      |
[INFO] [stdout] 2341 |         values: Vec<Vec<f64>>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2342:17
[INFO] [stdout]      |
[INFO] [stdout] 2342 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2382:9
[INFO] [stdout]      |
[INFO] [stdout] 2382 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2383:16
[INFO] [stdout]      |
[INFO] [stdout] 2383 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2384:19
[INFO] [stdout]      |
[INFO] [stdout] 2384 |         y_ranges: Vec<(f64, f64)>,
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2385:19
[INFO] [stdout]      |
[INFO] [stdout] 2385 |         x_ranges: Vec<Vec<(f64, f64)>>,
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2386:17
[INFO] [stdout]      |
[INFO] [stdout] 2386 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2420:9
[INFO] [stdout]      |
[INFO] [stdout] 2420 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2421:16
[INFO] [stdout]      |
[INFO] [stdout] 2421 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2422:20
[INFO] [stdout]      |
[INFO] [stdout] 2422 |         positions: Vec<Vec<f64>>,
[INFO] [stdout]      |                    ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2423:17
[INFO] [stdout]      |
[INFO] [stdout] 2423 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2463:9
[INFO] [stdout]      |
[INFO] [stdout] 2463 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2464:16
[INFO] [stdout]      |
[INFO] [stdout] 2464 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2465:12
[INFO] [stdout]      |
[INFO] [stdout] 2465 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2466:13
[INFO] [stdout]      |
[INFO] [stdout] 2466 |         ys: Vec<Vec<f64>>,
[INFO] [stdout]      |             ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2467:17
[INFO] [stdout]      |
[INFO] [stdout] 2467 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2501:9
[INFO] [stdout]      |
[INFO] [stdout] 2501 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2502:16
[INFO] [stdout]      |
[INFO] [stdout] 2502 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2503:12
[INFO] [stdout]      |
[INFO] [stdout] 2503 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2504:12
[INFO] [stdout]      |
[INFO] [stdout] 2504 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2505:17
[INFO] [stdout]      |
[INFO] [stdout] 2505 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2528:9
[INFO] [stdout]      |
[INFO] [stdout] 2528 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2529:16
[INFO] [stdout]      |
[INFO] [stdout] 2529 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2530:12
[INFO] [stdout]      |
[INFO] [stdout] 2530 |         c: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2531:17
[INFO] [stdout]      |
[INFO] [stdout] 2531 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2562:9
[INFO] [stdout]      |
[INFO] [stdout] 2562 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2563:16
[INFO] [stdout]      |
[INFO] [stdout] 2563 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2564:12
[INFO] [stdout]      |
[INFO] [stdout] 2564 |         c: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2565:17
[INFO] [stdout]      |
[INFO] [stdout] 2565 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2592:9
[INFO] [stdout]      |
[INFO] [stdout] 2592 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2593:16
[INFO] [stdout]      |
[INFO] [stdout] 2593 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2594:15
[INFO] [stdout]      |
[INFO] [stdout] 2594 |         data: Vec<Vec<f64>>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2595:17
[INFO] [stdout]      |
[INFO] [stdout] 2595 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2610:9
[INFO] [stdout]      |
[INFO] [stdout] 2610 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2611:16
[INFO] [stdout]      |
[INFO] [stdout] 2611 |         ax_id: usize,
[INFO] [stdout]      |                ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2612:16
[INFO] [stdout]      |
[INFO] [stdout] 2612 |         flows: Vec<f64>,
[INFO] [stdout]      |                ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2613:17
[INFO] [stdout]      |
[INFO] [stdout] 2613 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2636:13
[INFO] [stdout]      |
[INFO] [stdout] 2636 |     fn show(&self) -> PyResult<()> {
[INFO] [stdout]      |             ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/figure.rs:29:1
[INFO] [stdout]      |
[INFO] [stdout]   29 | #[pymethods]
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2647:23
[INFO] [stdout]      |
[INFO] [stdout] 2647 |     fn add_subplot_3d(&mut self, subplot_idx: usize) -> usize {
[INFO] [stdout]      |                       ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2647:47
[INFO] [stdout]      |
[INFO] [stdout] 2647 |     fn add_subplot_3d(&mut self, subplot_idx: usize) -> usize {
[INFO] [stdout]      |                                               ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2655:9
[INFO] [stdout]      |
[INFO] [stdout] 2655 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2656:18
[INFO] [stdout]      |
[INFO] [stdout] 2656 |         ax3d_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2657:12
[INFO] [stdout]      |
[INFO] [stdout] 2657 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2658:12
[INFO] [stdout]      |
[INFO] [stdout] 2658 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2659:12
[INFO] [stdout]      |
[INFO] [stdout] 2659 |         z: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2660:17
[INFO] [stdout]      |
[INFO] [stdout] 2660 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2692:9
[INFO] [stdout]      |
[INFO] [stdout] 2692 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2693:18
[INFO] [stdout]      |
[INFO] [stdout] 2693 |         ax3d_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2694:12
[INFO] [stdout]      |
[INFO] [stdout] 2694 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2695:12
[INFO] [stdout]      |
[INFO] [stdout] 2695 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2696:12
[INFO] [stdout]      |
[INFO] [stdout] 2696 |         z: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2697:17
[INFO] [stdout]      |
[INFO] [stdout] 2697 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2743:9
[INFO] [stdout]      |
[INFO] [stdout] 2743 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2744:18
[INFO] [stdout]      |
[INFO] [stdout] 2744 |         ax3d_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2745:12
[INFO] [stdout]      |
[INFO] [stdout] 2745 |         x: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2746:12
[INFO] [stdout]      |
[INFO] [stdout] 2746 |         y: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2747:12
[INFO] [stdout]      |
[INFO] [stdout] 2747 |         z: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2748:17
[INFO] [stdout]      |
[INFO] [stdout] 2748 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2774:9
[INFO] [stdout]      |
[INFO] [stdout] 2774 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2775:18
[INFO] [stdout]      |
[INFO] [stdout] 2775 |         ax3d_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2776:12
[INFO] [stdout]      |
[INFO] [stdout] 2776 |         x: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2777:12
[INFO] [stdout]      |
[INFO] [stdout] 2777 |         y: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2778:12
[INFO] [stdout]      |
[INFO] [stdout] 2778 |         z: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2779:17
[INFO] [stdout]      |
[INFO] [stdout] 2779 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2805:9
[INFO] [stdout]      |
[INFO] [stdout] 2805 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2806:18
[INFO] [stdout]      |
[INFO] [stdout] 2806 |         ax3d_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2807:12
[INFO] [stdout]      |
[INFO] [stdout] 2807 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2808:12
[INFO] [stdout]      |
[INFO] [stdout] 2808 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2809:12
[INFO] [stdout]      |
[INFO] [stdout] 2809 |         z: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2810:13
[INFO] [stdout]      |
[INFO] [stdout] 2810 |         dx: Vec<f64>,
[INFO] [stdout]      |             ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2811:13
[INFO] [stdout]      |
[INFO] [stdout] 2811 |         dy: Vec<f64>,
[INFO] [stdout]      |             ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2812:13
[INFO] [stdout]      |
[INFO] [stdout] 2812 |         dz: Vec<f64>,
[INFO] [stdout]      |             ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2813:17
[INFO] [stdout]      |
[INFO] [stdout] 2813 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2839:25
[INFO] [stdout]      |
[INFO] [stdout] 2839 |     fn axes3d_set_title(&mut self, ax3d_id: usize, title: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2839:45
[INFO] [stdout]      |
[INFO] [stdout] 2839 |     fn axes3d_set_title(&mut self, ax3d_id: usize, title: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                             ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2839:59
[INFO] [stdout]      |
[INFO] [stdout] 2839 |     fn axes3d_set_title(&mut self, ax3d_id: usize, title: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                                           ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2849:26
[INFO] [stdout]      |
[INFO] [stdout] 2849 |     fn axes3d_set_xlabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2849:46
[INFO] [stdout]      |
[INFO] [stdout] 2849 |     fn axes3d_set_xlabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                              ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2849:60
[INFO] [stdout]      |
[INFO] [stdout] 2849 |     fn axes3d_set_xlabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                                            ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2859:26
[INFO] [stdout]      |
[INFO] [stdout] 2859 |     fn axes3d_set_ylabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2859:46
[INFO] [stdout]      |
[INFO] [stdout] 2859 |     fn axes3d_set_ylabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                              ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2859:60
[INFO] [stdout]      |
[INFO] [stdout] 2859 |     fn axes3d_set_ylabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                                            ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2869:26
[INFO] [stdout]      |
[INFO] [stdout] 2869 |     fn axes3d_set_zlabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                          ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2869:46
[INFO] [stdout]      |
[INFO] [stdout] 2869 |     fn axes3d_set_zlabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                              ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2869:60
[INFO] [stdout]      |
[INFO] [stdout] 2869 |     fn axes3d_set_zlabel(&mut self, ax3d_id: usize, label: String, fontsize: Option<f32>) -> PyResult<()> {
[INFO] [stdout]      |                                                            ^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2878:25
[INFO] [stdout]      |
[INFO] [stdout] 2878 |     fn axes3d_view_init(&mut self, ax3d_id: usize, elev: f64, azim: f64) -> PyResult<()> {
[INFO] [stdout]      |                         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2878:45
[INFO] [stdout]      |
[INFO] [stdout] 2878 |     fn axes3d_view_init(&mut self, ax3d_id: usize, elev: f64, azim: f64) -> PyResult<()> {
[INFO] [stdout]      |                                             ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2878:58
[INFO] [stdout]      |
[INFO] [stdout] 2878 |     fn axes3d_view_init(&mut self, ax3d_id: usize, elev: f64, azim: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                          ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2878:69
[INFO] [stdout]      |
[INFO] [stdout] 2878 |     fn axes3d_view_init(&mut self, ax3d_id: usize, elev: f64, azim: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                                     ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2886:24
[INFO] [stdout]      |
[INFO] [stdout] 2886 |     fn axes3d_set_xlim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2886:44
[INFO] [stdout]      |
[INFO] [stdout] 2886 |     fn axes3d_set_xlim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                            ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2886:55
[INFO] [stdout]      |
[INFO] [stdout] 2886 |     fn axes3d_set_xlim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                       ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2886:64
[INFO] [stdout]      |
[INFO] [stdout] 2886 |     fn axes3d_set_xlim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                                ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2893:24
[INFO] [stdout]      |
[INFO] [stdout] 2893 |     fn axes3d_set_ylim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2893:44
[INFO] [stdout]      |
[INFO] [stdout] 2893 |     fn axes3d_set_ylim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                            ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2893:55
[INFO] [stdout]      |
[INFO] [stdout] 2893 |     fn axes3d_set_ylim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                       ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2893:64
[INFO] [stdout]      |
[INFO] [stdout] 2893 |     fn axes3d_set_ylim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                                ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2900:24
[INFO] [stdout]      |
[INFO] [stdout] 2900 |     fn axes3d_set_zlim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2900:44
[INFO] [stdout]      |
[INFO] [stdout] 2900 |     fn axes3d_set_zlim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                            ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2900:55
[INFO] [stdout]      |
[INFO] [stdout] 2900 |     fn axes3d_set_zlim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                       ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2900:64
[INFO] [stdout]      |
[INFO] [stdout] 2900 |     fn axes3d_set_zlim(&mut self, ax3d_id: usize, lo: f64, hi: f64) -> PyResult<()> {
[INFO] [stdout]      |                                                                ^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2907:22
[INFO] [stdout]      |
[INFO] [stdout] 2907 |     fn axes3d_legend(&mut self, ax3d_id: usize) -> PyResult<()> {
[INFO] [stdout]      |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2907:42
[INFO] [stdout]      |
[INFO] [stdout] 2907 |     fn axes3d_legend(&mut self, ax3d_id: usize) -> PyResult<()> {
[INFO] [stdout]      |                                          ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2916:9
[INFO] [stdout]      |
[INFO] [stdout] 2916 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2917:18
[INFO] [stdout]      |
[INFO] [stdout] 2917 |         ax3d_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2918:12
[INFO] [stdout]      |
[INFO] [stdout] 2918 |         x: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2919:12
[INFO] [stdout]      |
[INFO] [stdout] 2919 |         y: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2920:12
[INFO] [stdout]      |
[INFO] [stdout] 2920 |         z: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2921:17
[INFO] [stdout]      |
[INFO] [stdout] 2921 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2972:9
[INFO] [stdout]      |
[INFO] [stdout] 2972 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2973:18
[INFO] [stdout]      |
[INFO] [stdout] 2973 |         ax3d_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2974:12
[INFO] [stdout]      |
[INFO] [stdout] 2974 |         x: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2975:12
[INFO] [stdout]      |
[INFO] [stdout] 2975 |         y: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2976:12
[INFO] [stdout]      |
[INFO] [stdout] 2976 |         z: Vec<Vec<f64>>,
[INFO] [stdout]      |            ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:2977:17
[INFO] [stdout]      |
[INFO] [stdout] 2977 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:3022:9
[INFO] [stdout]      |
[INFO] [stdout] 3022 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:3023:18
[INFO] [stdout]      |
[INFO] [stdout] 3023 |         ax3d_id: usize,
[INFO] [stdout]      |                  ^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:3024:12
[INFO] [stdout]      |
[INFO] [stdout] 3024 |         x: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:3025:12
[INFO] [stdout]      |
[INFO] [stdout] 3025 |         y: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:3026:12
[INFO] [stdout]      |
[INFO] [stdout] 3026 |         z: Vec<f64>,
[INFO] [stdout]      |            ^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/figure.rs:3027:17
[INFO] [stdout]      |
[INFO] [stdout] 3027 |         kwargs: &Bound<'_, PyDict>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/parse.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn parse_fmt(fmt: &str) -> (Option<String>, Option<String>, Option<String>) {
[INFO] [stdout]    |                       ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/parse.rs:55:30
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn color_char_to_name(c: &str) -> String {
[INFO] [stdout]    |                              ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/parse.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn format_tick_scalar(value: f64, precision: Option<usize>) -> String {
[INFO] [stdout]    |                                  ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/parse.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn format_tick_percent(value: f64, xmax: f64, decimals: Option<usize>) -> String {
[INFO] [stdout]    |                                   ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/parse.rs:99:46
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn format_tick_percent(value: f64, xmax: f64, decimals: Option<usize>) -> String {
[INFO] [stdout]    |                                              ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:111:39
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn format_tick_engineering(value: f64, precision: Option<usize>) -> String {
[INFO] [stdout]     |                                       ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:144:31
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn format_tick_log(value: f64, base: Option<f64>) -> String {
[INFO] [stdout]     |                               ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:166:35
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn tick_values_multiple(vmin: f64, vmax: f64, base: f64) -> Vec<f64> {
[INFO] [stdout]     |                                   ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:166:46
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn tick_values_multiple(vmin: f64, vmax: f64, base: f64) -> Vec<f64> {
[INFO] [stdout]     |                                              ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:166:57
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn tick_values_multiple(vmin: f64, vmax: f64, base: f64) -> Vec<f64> {
[INFO] [stdout]     |                                                         ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:177:30
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn tick_values_log(vmin: f64, vmax: f64, base: Option<f64>, numdecs: Option<usize>) -> Vec<f64> {
[INFO] [stdout]     |                              ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:177:41
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn tick_values_log(vmin: f64, vmax: f64, base: Option<f64>, numdecs: Option<usize>) -> Vec<f64> {
[INFO] [stdout]     |                                         ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn tick_values_linear(vmin: f64, vmax: f64, numticks: Option<usize>) -> Vec<f64> {
[INFO] [stdout]     |                                 ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:203:44
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn tick_values_linear(vmin: f64, vmax: f64, numticks: Option<usize>) -> Vec<f64> {
[INFO] [stdout]     |                                            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:220:18
[INFO] [stdout]     |
[INFO] [stdout] 220 |     data_arrays: Vec<Vec<f64>>,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:221:18
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fmt_strings: Vec<Option<String>>,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/parse.rs:288:26
[INFO] [stdout]     |
[INFO] [stdout] 288 |         if let Some(Some(ref t)) = axes_titles.get(i) {
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/parse.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |         if let Some(Some(ref t)) = axes_titles.get(i) {
[INFO] [stdout]     |                     ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 288 -         if let Some(Some(ref t)) = axes_titles.get(i) {
[INFO] [stdout] 288 +         if let Some(Some(t)) = axes_titles.get(i) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/parse.rs:291:26
[INFO] [stdout]     |
[INFO] [stdout] 291 |         if let Some(Some(ref l)) = axes_xlabels.get(i) {
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/parse.rs:291:21
[INFO] [stdout]     |
[INFO] [stdout] 291 |         if let Some(Some(ref l)) = axes_xlabels.get(i) {
[INFO] [stdout]     |                     ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 291 -         if let Some(Some(ref l)) = axes_xlabels.get(i) {
[INFO] [stdout] 291 +         if let Some(Some(l)) = axes_xlabels.get(i) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/parse.rs:294:26
[INFO] [stdout]     |
[INFO] [stdout] 294 |         if let Some(Some(ref l)) = axes_ylabels.get(i) {
[INFO] [stdout]     |                          ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/parse.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |         if let Some(Some(ref l)) = axes_ylabels.get(i) {
[INFO] [stdout]     |                     ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 294 -         if let Some(Some(ref l)) = axes_ylabels.get(i) {
[INFO] [stdout] 294 +         if let Some(Some(l)) = axes_ylabels.get(i) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |     n_axes: usize,
[INFO] [stdout]     |             ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 |     width: f64,
[INFO] [stdout]     |            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |     height: f64,
[INFO] [stdout]     |             ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 |     dpi: u32,
[INFO] [stdout]     |          ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:273:18
[INFO] [stdout]     |
[INFO] [stdout] 273 |     axes_titles: Vec<Option<String>>,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:274:19
[INFO] [stdout]     |
[INFO] [stdout] 274 |     axes_xlabels: Vec<Option<String>>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:275:19
[INFO] [stdout]     |
[INFO] [stdout] 275 |     axes_ylabels: Vec<Option<String>>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:310:28
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                            ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:310:42
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                                          ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:310:56
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                                                        ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:310:65
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                                                                 ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:310:81
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn hit_test_points(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                                                                                 ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:327:26
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                          ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:327:40
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                                        ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:327:54
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                                                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:327:63
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                                                               ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/parse.rs:327:79
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn hit_test_line(xs: Vec<f64>, ys: Vec<f64>, mx: f64, my: f64, tolerance: f64) -> Vec<usize> {
[INFO] [stdout]     |                                                                               ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn hammer_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stdout]    |                            ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:14:38
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn hammer_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stdout]    |                                      ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn aitoff_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stdout]    |                            ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn aitoff_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stdout]    |                                      ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn mollweide_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stdout]    |                               ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:37:41
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn mollweide_project(lon: f64, lat: f64) -> (f64, f64) {
[INFO] [stdout]    |                                         ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn hammer_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                                   ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:55:51
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn hammer_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                                                   ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn aitoff_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                                   ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:69:51
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn aitoff_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                                                   ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:83:38
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn mollweide_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                                      ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/projections.rs:83:54
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn mollweide_project_batch(lons: Vec<f64>, lats: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                                                      ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn lambert_project(lon: f64, lat: f64, lat1: f64, lat2: f64) -> (f64, f64) {
[INFO] [stdout]     |                             ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:104:39
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn lambert_project(lon: f64, lat: f64, lat1: f64, lat2: f64) -> (f64, f64) {
[INFO] [stdout]     |                                       ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:104:50
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn lambert_project(lon: f64, lat: f64, lat1: f64, lat2: f64) -> (f64, f64) {
[INFO] [stdout]     |                                                  ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:104:61
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn lambert_project(lon: f64, lat: f64, lat1: f64, lat2: f64) -> (f64, f64) {
[INFO] [stdout]     |                                                             ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn lambert_project_batch(lons: Vec<f64>, lats: Vec<f64>, lat1: f64, lat2: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]     |                                    ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:133:52
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn lambert_project_batch(lons: Vec<f64>, lats: Vec<f64>, lat1: f64, lat2: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]     |                                                    ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:133:68
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn lambert_project_batch(lons: Vec<f64>, lats: Vec<f64>, lat1: f64, lat2: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]     |                                                                    ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:133:79
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn lambert_project_batch(lons: Vec<f64>, lats: Vec<f64>, lat1: f64, lat2: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]     |                                                                               ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:154:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn stereographic_project(lon: f64, lat: f64, lon0: f64, lat0: f64) -> (f64, f64) {
[INFO] [stdout]     |                                   ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:154:45
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn stereographic_project(lon: f64, lat: f64, lon0: f64, lat0: f64) -> (f64, f64) {
[INFO] [stdout]     |                                             ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:154:56
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn stereographic_project(lon: f64, lat: f64, lon0: f64, lat0: f64) -> (f64, f64) {
[INFO] [stdout]     |                                                        ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:154:67
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn stereographic_project(lon: f64, lat: f64, lon0: f64, lat0: f64) -> (f64, f64) {
[INFO] [stdout]     |                                                                   ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:172:42
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn stereographic_project_batch(lons: Vec<f64>, lats: Vec<f64>, lon0: f64, lat0: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]     |                                          ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:172:58
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn stereographic_project_batch(lons: Vec<f64>, lats: Vec<f64>, lon0: f64, lat0: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]     |                                                          ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:172:74
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn stereographic_project_batch(lons: Vec<f64>, lats: Vec<f64>, lon0: f64, lat0: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]     |                                                                          ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:172:85
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn stereographic_project_batch(lons: Vec<f64>, lats: Vec<f64>, lon0: f64, lat0: f64) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]     |                                                                                     ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:187:39
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn generate_graticule(projection: &str, n_meridians: usize, n_parallels: usize, n_points: usize)
[INFO] [stdout]     |                                       ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:187:58
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn generate_graticule(projection: &str, n_meridians: usize, n_parallels: usize, n_points: usize)
[INFO] [stdout]     |                                                          ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:187:78
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn generate_graticule(projection: &str, n_meridians: usize, n_parallels: usize, n_points: usize)
[INFO] [stdout]     |                                                                              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/projections.rs:187:95
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn generate_graticule(projection: &str, n_meridians: usize, n_parallels: usize, n_points: usize)
[INFO] [stdout]     |                                                                                               ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ticker.rs:143:25
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn auto_ticks(vmin: f64, vmax: f64) -> Vec<f64> {
[INFO] [stdout]     |                         ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ticker.rs:143:36
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn auto_ticks(vmin: f64, vmax: f64) -> Vec<f64> {
[INFO] [stdout]     |                                    ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/ticker.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn format_tick(val: f64) -> String {
[INFO] [stdout]     |                         ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |         data_xlim: (f64, f64),
[INFO] [stdout]    |                    ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |         data_ylim: (f64, f64),
[INFO] [stdout]    |                    ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         pixel_left: f64,
[INFO] [stdout]    |                     ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |         pixel_right: f64,
[INFO] [stdout]    |                      ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |         pixel_top: f64,
[INFO] [stdout]    |                    ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |         pixel_bottom: f64,
[INFO] [stdout]    |                       ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn transform(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]    |                      ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn transform(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]    |                                ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn transform(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]    |                                        ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:74:28
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn transform_batch(&self, xs: Vec<f64>, ys: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                            ^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:74:39
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn transform_batch(&self, xs: Vec<f64>, ys: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                                       ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/transforms.rs:74:53
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn transform_batch(&self, xs: Vec<f64>, ys: Vec<f64>) -> (Vec<f64>, Vec<f64>) {
[INFO] [stdout]    |                                                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:131:26
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn translate(tx: f64, ty: f64) -> Self {
[INFO] [stdout]     |                          ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn translate(tx: f64, ty: f64) -> Self {
[INFO] [stdout]     |                                   ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:137:22
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn scale(sx: f64, sy: f64) -> Self {
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:137:31
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn scale(sx: f64, sy: f64) -> Self {
[INFO] [stdout]     |                               ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:143:26
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn rotate(angle: f64) -> Self {
[INFO] [stdout]     |                          ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:151:30
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn rotate_deg(angle: f64) -> Self {
[INFO] [stdout]     |                              ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:156:28
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn transform_point(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]     |                            ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:156:38
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn transform_point(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]     |                                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:156:46
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn transform_point(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]     |                                              ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:162:29
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn transform_points(&self, points: Vec<(f64, f64)>) -> Vec<(f64, f64)> {
[INFO] [stdout]     |                             ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:162:44
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn transform_points(&self, points: Vec<(f64, f64)>) -> Vec<(f64, f64)> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn compose(&self, other: &Affine2D) -> Affine2D {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:167:34
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn compose(&self, other: &Affine2D) -> Affine2D {
[INFO] [stdout]     |                                  ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn inverted(&self) -> Affine2D {
[INFO] [stdout]     |                     ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/transforms.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn is_identity(&self) -> bool {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/transforms.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:206:23
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn get_matrix(&self) -> Vec<f64> {
[INFO] [stdout]     |                       ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/transforms.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn new(x_transform: Affine2D, y_transform: Affine2D) -> Self {
[INFO] [stdout]     |                             ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:222:52
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn new(x_transform: Affine2D, y_transform: Affine2D) -> Self {
[INFO] [stdout]     |                                                    ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:227:28
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn transform_point(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]     |                            ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:227:38
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn transform_point(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]     |                                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:227:46
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn transform_point(&self, x: f64, y: f64) -> (f64, f64) {
[INFO] [stdout]     |                                              ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:234:29
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn transform_points(&self, points: Vec<(f64, f64)>) -> Vec<(f64, f64)> {
[INFO] [stdout]     |                             ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:234:44
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn transform_points(&self, points: Vec<(f64, f64)>) -> Vec<(f64, f64)> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/transforms.rs:239:21
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn inverted(&self) -> BlendedTransform {
[INFO] [stdout]     |                     ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/transforms.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parse_math_symbols_py(text: &str) -> String {
[INFO] [stdout]    |                                ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/lib.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn set_font(path: String) -> PyResult<()> {
[INFO] [stdout]    |                   ^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:166:24
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 166 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 167 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 168 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:170:28
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let linewidth = if let Some(v) = kwargs.get_item("linewidth")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 170 ~         let linewidth = match kwargs.get_item("linewidth")? { Some(v) => {
[INFO] [stdout] 171 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 172 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let linestyle = if let Some(v) = kwargs.get_item("linestyle")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 174 ~         let linestyle = match kwargs.get_item("linestyle")? { Some(v) => {
[INFO] [stdout] 175 |             Some(v.extract::<String>()?)
[INFO] [stdout] 176 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:178:25
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let marker = if let Some(v) = kwargs.get_item("marker")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 178 ~         let marker = match kwargs.get_item("marker")? { Some(v) => {
[INFO] [stdout] 179 |             v.extract::<String>().ok()
[INFO] [stdout] 180 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:182:30
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let marker_size = if let Some(v) = kwargs.get_item("markersize")? {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 182 ~         let marker_size = match kwargs.get_item("markersize")? { Some(v) => {
[INFO] [stdout] 183 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 184 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:186:24
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 186 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 187 |             v.extract::<String>().ok()
[INFO] [stdout] 188 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:190:24
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 190 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 191 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 192 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let zorder = if let Some(v) = kwargs.get_item("zorder")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 200 ~         let zorder = match kwargs.get_item("zorder")? { Some(v) => {
[INFO] [stdout] 201 |             Some(v.extract::<i32>()?)
[INFO] [stdout] 202 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:204:32
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let outline_color = if let Some(c) = kwargs.get_item("outline_color")? {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^---------------------------------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 204 ~         let outline_color = match kwargs.get_item("outline_color")? { Some(c) => {
[INFO] [stdout] 205 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 206 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:208:32
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let outline_width = if let Some(v) = kwargs.get_item("outline_width")? {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^---------------------------------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 208 ~         let outline_width = match kwargs.get_item("outline_width")? { Some(v) => {
[INFO] [stdout] 209 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 210 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:240:24
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 240 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 241 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 242 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:244:24
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let sizes = if let Some(v) = kwargs.get_item("s")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^---------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 244 ~         let sizes = match kwargs.get_item("s")? { Some(v) => {
[INFO] [stdout] 245 |             Some(v.extract::<Vec<f32>>()?)
[INFO] [stdout] 246 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let marker = if let Some(v) = kwargs.get_item("marker")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 248 ~         let marker = match kwargs.get_item("marker")? { Some(v) => {
[INFO] [stdout] 249 |             v.extract::<String>().ok()
[INFO] [stdout] 250 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:252:24
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 252 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 253 |             v.extract::<String>().ok()
[INFO] [stdout] 254 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:256:24
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 256 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 257 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 258 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:260:25
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let zorder = if let Some(v) = kwargs.get_item("zorder")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 260 ~         let zorder = match kwargs.get_item("zorder")? { Some(v) => {
[INFO] [stdout] 261 |             Some(v.extract::<i32>()?)
[INFO] [stdout] 262 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:287:24
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:289:9
[INFO] [stdout]     |
[INFO] [stdout] 289 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 287 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 288 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 289 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:291:24
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let width = if let Some(v) = kwargs.get_item("width")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 291 ~         let width = match kwargs.get_item("width")? { Some(v) => {
[INFO] [stdout] 292 |             Some(v.extract::<f64>()?)
[INFO] [stdout] 293 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:295:24
[INFO] [stdout]     |
[INFO] [stdout] 295 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:297:9
[INFO] [stdout]     |
[INFO] [stdout] 297 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 295 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 296 |             v.extract::<String>().ok()
[INFO] [stdout] 297 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:299:24
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 299 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 300 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 301 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:303:25
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let bottom = if let Some(v) = kwargs.get_item("bottom")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 303 ~         let bottom = match kwargs.get_item("bottom")? { Some(v) => {
[INFO] [stdout] 304 |             Some(v.extract::<f64>()?)
[INFO] [stdout] 305 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:307:24
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let hatch = if let Some(v) = kwargs.get_item("hatch")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 307 ~         let hatch = match kwargs.get_item("hatch")? { Some(v) => {
[INFO] [stdout] 308 |             Some(v.extract::<String>()?)
[INFO] [stdout] 309 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let zorder = if let Some(v) = kwargs.get_item("zorder")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 311 ~         let zorder = match kwargs.get_item("zorder")? { Some(v) => {
[INFO] [stdout] 312 |             Some(v.extract::<i32>()?)
[INFO] [stdout] 313 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:329:23
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let bins = if let Some(v) = kwargs.get_item("bins")? {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |         } else { 10 };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 329 ~         let bins = match kwargs.get_item("bins")? { Some(v) => {
[INFO] [stdout] 330 |             v.extract::<usize>()?
[INFO] [stdout] 331 ~         } _ => { 10 }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:333:24
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 333 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 334 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 335 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:337:24
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 337 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 338 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 339 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:341:24
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 341 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 342 |             v.extract::<String>().ok()
[INFO] [stdout] 343 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:359:23
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let cmap = if let Some(v) = kwargs.get_item("cmap")? {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 359 ~         let cmap = match kwargs.get_item("cmap")? { Some(v) => {
[INFO] [stdout] 360 |             Some(v.extract::<String>()?)
[INFO] [stdout] 361 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:363:27
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let annotate = if let Some(v) = kwargs.get_item("annotate")? {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         } else { false };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 363 ~         let annotate = match kwargs.get_item("annotate")? { Some(v) => {
[INFO] [stdout] 364 |             v.extract::<bool>()?
[INFO] [stdout] 365 ~         } _ => { false }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:367:22
[INFO] [stdout]     |
[INFO] [stdout] 367 |         let fmt = if let Some(v) = kwargs.get_item("fmt")? {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^-----------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 367 ~         let fmt = match kwargs.get_item("fmt")? { Some(v) => {
[INFO] [stdout] 368 |             Some(v.extract::<String>()?)
[INFO] [stdout] 369 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:371:32
[INFO] [stdout]     |
[INFO] [stdout] 371 |         let interpolation = if let Some(v) = kwargs.get_item("interpolation")? {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^---------------------------------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 371 ~         let interpolation = match kwargs.get_item("interpolation")? { Some(v) => {
[INFO] [stdout] 372 |             Some(v.extract::<String>()?)
[INFO] [stdout] 373 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:375:25
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let extent = if let Some(v) = kwargs.get_item("extent")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 375 ~         let extent = match kwargs.get_item("extent")? { Some(v) => {
[INFO] [stdout] 376 |             let ext: Vec<f64> = v.extract()?;
[INFO] [stdout] ...
[INFO] [stdout] 381 |             }
[INFO] [stdout] 382 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:385:25
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let origin = if let Some(v) = kwargs.get_item("origin")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 385 ~         let origin = match kwargs.get_item("origin")? { Some(v) => {
[INFO] [stdout] 386 |             v.extract::<String>().ok()
[INFO] [stdout] 387 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:409:32
[INFO] [stdout]     |
[INFO] [stdout] 409 |         let interpolation = if let Some(v) = kwargs.get_item("interpolation")? {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^---------------------------------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 409 ~         let interpolation = match kwargs.get_item("interpolation")? { Some(v) => {
[INFO] [stdout] 410 |             Some(v.extract::<String>()?)
[INFO] [stdout] 411 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:413:25
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let extent = if let Some(v) = kwargs.get_item("extent")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 413 ~         let extent = match kwargs.get_item("extent")? { Some(v) => {
[INFO] [stdout] 414 |             let ext: Vec<f64> = v.extract()?;
[INFO] [stdout] ...
[INFO] [stdout] 419 |             }
[INFO] [stdout] 420 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:423:25
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let origin = if let Some(v) = kwargs.get_item("origin")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 423 ~         let origin = match kwargs.get_item("origin")? { Some(v) => {
[INFO] [stdout] 424 |             v.extract::<String>().ok()
[INFO] [stdout] 425 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:577:24
[INFO] [stdout]     |
[INFO] [stdout] 577 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:579:9
[INFO] [stdout]     |
[INFO] [stdout] 579 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 577 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 578 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 579 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:581:24
[INFO] [stdout]     |
[INFO] [stdout] 581 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:583:9
[INFO] [stdout]     |
[INFO] [stdout] 583 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 581 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 582 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 583 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:585:24
[INFO] [stdout]     |
[INFO] [stdout] 585 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 585 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 586 |             v.extract::<String>().ok()
[INFO] [stdout] 587 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:604:24
[INFO] [stdout]     |
[INFO] [stdout] 604 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:606:9
[INFO] [stdout]     |
[INFO] [stdout] 606 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 604 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 605 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 606 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:608:28
[INFO] [stdout]     |
[INFO] [stdout] 608 |         let linewidth = if let Some(v) = kwargs.get_item("linewidth")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:610:9
[INFO] [stdout]     |
[INFO] [stdout] 610 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 608 ~         let linewidth = match kwargs.get_item("linewidth")? { Some(v) => {
[INFO] [stdout] 609 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 610 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:612:28
[INFO] [stdout]     |
[INFO] [stdout] 612 |         let linestyle = if let Some(v) = kwargs.get_item("linestyle")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:614:9
[INFO] [stdout]     |
[INFO] [stdout] 614 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 612 ~         let linestyle = match kwargs.get_item("linestyle")? { Some(v) => {
[INFO] [stdout] 613 |             Some(v.extract::<String>()?)
[INFO] [stdout] 614 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:616:24
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:618:9
[INFO] [stdout]     |
[INFO] [stdout] 618 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 616 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 617 |             v.extract::<String>().ok()
[INFO] [stdout] 618 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:620:24
[INFO] [stdout]     |
[INFO] [stdout] 620 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:622:9
[INFO] [stdout]     |
[INFO] [stdout] 622 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 620 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 621 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 622 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:624:30
[INFO] [stdout]     |
[INFO] [stdout] 624 |         let where_style = if let Some(v) = kwargs.get_item("where")? {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:626:9
[INFO] [stdout]     |
[INFO] [stdout] 626 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 624 ~         let where_style = match kwargs.get_item("where")? { Some(v) => {
[INFO] [stdout] 625 |             Some(v.extract::<String>()?)
[INFO] [stdout] 626 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:650:25
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let labels = if let Some(v) = kwargs.get_item("labels")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:652:9
[INFO] [stdout]     |
[INFO] [stdout] 652 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 650 ~         let labels = match kwargs.get_item("labels")? { Some(v) => {
[INFO] [stdout] 651 |             v.extract::<Vec<String>>()?
[INFO] [stdout] 652 ~         } _ => {
[INFO] [stdout] 653 |             Vec::new()
[INFO] [stdout] 654 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:656:25
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let colors = if let Some(v) = kwargs.get_item("colors")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:663:9
[INFO] [stdout]     |
[INFO] [stdout] 663 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 656 ~         let colors = match kwargs.get_item("colors")? { Some(v) => {
[INFO] [stdout] 657 |             let color_list: Vec<Bound<'_, pyo3::PyAny>> = v.extract()?;
[INFO] [stdout] ...
[INFO] [stdout] 662 |             result
[INFO] [stdout] 663 ~         } _ => {
[INFO] [stdout] 664 |             Vec::new()
[INFO] [stdout] 665 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:667:30
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let start_angle = if let Some(v) = kwargs.get_item("startangle")? {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:669:9
[INFO] [stdout]     |
[INFO] [stdout] 669 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 667 ~         let start_angle = match kwargs.get_item("startangle")? { Some(v) => {
[INFO] [stdout] 668 |             v.extract::<f32>()?
[INFO] [stdout] 669 ~         } _ => {
[INFO] [stdout] 670 |             90.0
[INFO] [stdout] 671 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:687:24
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:689:9
[INFO] [stdout]     |
[INFO] [stdout] 689 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 687 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 688 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 689 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:691:28
[INFO] [stdout]     |
[INFO] [stdout] 691 |         let linestyle = if let Some(v) = kwargs.get_item("linestyle")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:693:9
[INFO] [stdout]     |
[INFO] [stdout] 693 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 691 ~         let linestyle = match kwargs.get_item("linestyle")? { Some(v) => {
[INFO] [stdout] 692 |             v.extract::<String>()?
[INFO] [stdout] 693 ~         } _ => {
[INFO] [stdout] 694 |             "--".to_string()
[INFO] [stdout] 695 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:697:28
[INFO] [stdout]     |
[INFO] [stdout] 697 |         let linewidth = if let Some(v) = kwargs.get_item("linewidth")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:699:9
[INFO] [stdout]     |
[INFO] [stdout] 699 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 697 ~         let linewidth = match kwargs.get_item("linewidth")? { Some(v) => {
[INFO] [stdout] 698 |             v.extract::<f32>()?
[INFO] [stdout] 699 ~         } _ => {
[INFO] [stdout] 700 |             1.0
[INFO] [stdout] 701 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:703:24
[INFO] [stdout]     |
[INFO] [stdout] 703 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:705:9
[INFO] [stdout]     |
[INFO] [stdout] 705 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 703 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 704 |             v.extract::<f32>()?
[INFO] [stdout] 705 ~         } _ => {
[INFO] [stdout] 706 |             1.0
[INFO] [stdout] 707 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:723:24
[INFO] [stdout]     |
[INFO] [stdout] 723 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:725:9
[INFO] [stdout]     |
[INFO] [stdout] 725 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 723 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 724 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 725 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:727:28
[INFO] [stdout]     |
[INFO] [stdout] 727 |         let linestyle = if let Some(v) = kwargs.get_item("linestyle")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:729:9
[INFO] [stdout]     |
[INFO] [stdout] 729 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 727 ~         let linestyle = match kwargs.get_item("linestyle")? { Some(v) => {
[INFO] [stdout] 728 |             v.extract::<String>()?
[INFO] [stdout] 729 ~         } _ => {
[INFO] [stdout] 730 |             "--".to_string()
[INFO] [stdout] 731 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:733:28
[INFO] [stdout]     |
[INFO] [stdout] 733 |         let linewidth = if let Some(v) = kwargs.get_item("linewidth")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:735:9
[INFO] [stdout]     |
[INFO] [stdout] 735 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 733 ~         let linewidth = match kwargs.get_item("linewidth")? { Some(v) => {
[INFO] [stdout] 734 |             v.extract::<f32>()?
[INFO] [stdout] 735 ~         } _ => {
[INFO] [stdout] 736 |             1.0
[INFO] [stdout] 737 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:739:24
[INFO] [stdout]     |
[INFO] [stdout] 739 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:741:9
[INFO] [stdout]     |
[INFO] [stdout] 741 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 739 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 740 |             v.extract::<f32>()?
[INFO] [stdout] 741 ~         } _ => {
[INFO] [stdout] 742 |             1.0
[INFO] [stdout] 743 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:774:24
[INFO] [stdout]     |
[INFO] [stdout] 774 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:776:9
[INFO] [stdout]     |
[INFO] [stdout] 776 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 774 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 775 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 776 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:778:23
[INFO] [stdout]     |
[INFO] [stdout] 778 |         let yerr = if let Some(v) = kwargs.get_item("yerr")? {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:780:9
[INFO] [stdout]     |
[INFO] [stdout] 780 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 778 ~         let yerr = match kwargs.get_item("yerr")? { Some(v) => {
[INFO] [stdout] 779 |             Some(v.extract::<Vec<f64>>()?)
[INFO] [stdout] 780 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:782:23
[INFO] [stdout]     |
[INFO] [stdout] 782 |         let xerr = if let Some(v) = kwargs.get_item("xerr")? {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:784:9
[INFO] [stdout]     |
[INFO] [stdout] 784 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 782 ~         let xerr = match kwargs.get_item("xerr")? { Some(v) => {
[INFO] [stdout] 783 |             Some(v.extract::<Vec<f64>>()?)
[INFO] [stdout] 784 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:786:28
[INFO] [stdout]     |
[INFO] [stdout] 786 |         let linewidth = if let Some(v) = kwargs.get_item("linewidth")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:788:9
[INFO] [stdout]     |
[INFO] [stdout] 788 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 786 ~         let linewidth = match kwargs.get_item("linewidth")? { Some(v) => {
[INFO] [stdout] 787 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 788 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:790:26
[INFO] [stdout]     |
[INFO] [stdout] 790 |         let capsize = if let Some(v) = kwargs.get_item("capsize")? {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^---------------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:792:9
[INFO] [stdout]     |
[INFO] [stdout] 792 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 790 ~         let capsize = match kwargs.get_item("capsize")? { Some(v) => {
[INFO] [stdout] 791 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 792 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:794:25
[INFO] [stdout]     |
[INFO] [stdout] 794 |         let marker = if let Some(v) = kwargs.get_item("marker")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:796:9
[INFO] [stdout]     |
[INFO] [stdout] 796 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 794 ~         let marker = match kwargs.get_item("marker")? { Some(v) => {
[INFO] [stdout] 795 |             v.extract::<String>().ok()
[INFO] [stdout] 796 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:798:30
[INFO] [stdout]     |
[INFO] [stdout] 798 |         let marker_size = if let Some(v) = kwargs.get_item("markersize")? {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:800:9
[INFO] [stdout]     |
[INFO] [stdout] 800 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 798 ~         let marker_size = match kwargs.get_item("markersize")? { Some(v) => {
[INFO] [stdout] 799 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 800 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:802:24
[INFO] [stdout]     |
[INFO] [stdout] 802 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:804:9
[INFO] [stdout]     |
[INFO] [stdout] 804 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 802 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 803 |             v.extract::<String>().ok()
[INFO] [stdout] 804 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:806:24
[INFO] [stdout]     |
[INFO] [stdout] 806 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:808:9
[INFO] [stdout]     |
[INFO] [stdout] 808 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 806 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 807 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 808 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:810:28
[INFO] [stdout]     |
[INFO] [stdout] 810 |         let linestyle = if let Some(v) = kwargs.get_item("linestyle")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:812:9
[INFO] [stdout]     |
[INFO] [stdout] 812 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 810 ~         let linestyle = match kwargs.get_item("linestyle")? { Some(v) => {
[INFO] [stdout] 811 |             Some(v.extract::<String>()?)
[INFO] [stdout] 812 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:840:24
[INFO] [stdout]     |
[INFO] [stdout] 840 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:842:9
[INFO] [stdout]     |
[INFO] [stdout] 842 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 840 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 841 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 842 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:844:25
[INFO] [stdout]     |
[INFO] [stdout] 844 |         let height = if let Some(v) = kwargs.get_item("height")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:846:9
[INFO] [stdout]     |
[INFO] [stdout] 846 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 844 ~         let height = match kwargs.get_item("height")? { Some(v) => {
[INFO] [stdout] 845 |             Some(v.extract::<f64>()?)
[INFO] [stdout] 846 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:848:24
[INFO] [stdout]     |
[INFO] [stdout] 848 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:850:9
[INFO] [stdout]     |
[INFO] [stdout] 850 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 848 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 849 |             v.extract::<String>().ok()
[INFO] [stdout] 850 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:852:24
[INFO] [stdout]     |
[INFO] [stdout] 852 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:854:9
[INFO] [stdout]     |
[INFO] [stdout] 854 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 852 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 853 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 854 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:870:24
[INFO] [stdout]     |
[INFO] [stdout] 870 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:872:9
[INFO] [stdout]     |
[INFO] [stdout] 872 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 870 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 871 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 872 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:874:28
[INFO] [stdout]     |
[INFO] [stdout] 874 |         let positions = if let Some(v) = kwargs.get_item("positions")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:876:9
[INFO] [stdout]     |
[INFO] [stdout] 876 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 874 ~         let positions = match kwargs.get_item("positions")? { Some(v) => {
[INFO] [stdout] 875 |             Some(v.extract::<Vec<f64>>()?)
[INFO] [stdout] 876 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:878:25
[INFO] [stdout]     |
[INFO] [stdout] 878 |         let widths = if let Some(v) = kwargs.get_item("widths")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:880:9
[INFO] [stdout]     |
[INFO] [stdout] 880 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 878 ~         let widths = match kwargs.get_item("widths")? { Some(v) => {
[INFO] [stdout] 879 |             Some(v.extract::<f64>()?)
[INFO] [stdout] 880 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:882:31
[INFO] [stdout]     |
[INFO] [stdout] 882 |         let median_color = if let Some(c) = kwargs.get_item("median_color")? {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^--------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:884:9
[INFO] [stdout]     |
[INFO] [stdout] 884 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 882 ~         let median_color = match kwargs.get_item("median_color")? { Some(c) => {
[INFO] [stdout] 883 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 884 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:901:24
[INFO] [stdout]     |
[INFO] [stdout] 901 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:903:9
[INFO] [stdout]     |
[INFO] [stdout] 903 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 901 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 902 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 903 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:905:28
[INFO] [stdout]     |
[INFO] [stdout] 905 |         let linewidth = if let Some(v) = kwargs.get_item("linewidth")? {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:907:9
[INFO] [stdout]     |
[INFO] [stdout] 907 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 905 ~         let linewidth = match kwargs.get_item("linewidth")? { Some(v) => {
[INFO] [stdout] 906 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 907 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:909:25
[INFO] [stdout]     |
[INFO] [stdout] 909 |         let marker = if let Some(v) = kwargs.get_item("marker")? {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:911:9
[INFO] [stdout]     |
[INFO] [stdout] 911 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 909 ~         let marker = match kwargs.get_item("marker")? { Some(v) => {
[INFO] [stdout] 910 |             v.extract::<String>().ok()
[INFO] [stdout] 911 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:913:30
[INFO] [stdout]     |
[INFO] [stdout] 913 |         let marker_size = if let Some(v) = kwargs.get_item("markersize")? {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:915:9
[INFO] [stdout]     |
[INFO] [stdout] 915 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 913 ~         let marker_size = match kwargs.get_item("markersize")? { Some(v) => {
[INFO] [stdout] 914 |             Some(v.extract::<f32>()?)
[INFO] [stdout] 915 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:917:24
[INFO] [stdout]     |
[INFO] [stdout] 917 |         let label = if let Some(v) = kwargs.get_item("label")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:919:9
[INFO] [stdout]     |
[INFO] [stdout] 919 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 917 ~         let label = match kwargs.get_item("label")? { Some(v) => {
[INFO] [stdout] 918 |             v.extract::<String>().ok()
[INFO] [stdout] 919 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:921:27
[INFO] [stdout]     |
[INFO] [stdout] 921 |         let baseline = if let Some(v) = kwargs.get_item("baseline")? {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:923:9
[INFO] [stdout]     |
[INFO] [stdout] 923 |         } else { None };
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 921 ~         let baseline = match kwargs.get_item("baseline")? { Some(v) => {
[INFO] [stdout] 922 |             Some(v.extract::<f64>()?)
[INFO] [stdout] 923 ~         } _ => { None }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:949:27
[INFO] [stdout]     |
[INFO] [stdout] 949 |         let fontsize = if let Some(v) = kwargs.get_item("fontsize")? {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:951:9
[INFO] [stdout]     |
[INFO] [stdout] 951 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 949 ~         let fontsize = match kwargs.get_item("fontsize")? { Some(v) => {
[INFO] [stdout] 950 |             v.extract::<f32>()?
[INFO] [stdout] 951 ~         } _ => {
[INFO] [stdout] 952 |             12.0
[INFO] [stdout] 953 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:955:24
[INFO] [stdout]     |
[INFO] [stdout] 955 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:957:9
[INFO] [stdout]     |
[INFO] [stdout] 957 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 955 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 956 |             colors::parse_color_value(&c)?
[INFO] [stdout] 957 ~         } _ => {
[INFO] [stdout] 958 |             crate::colors::Color::new(0, 0, 0, 255)
[INFO] [stdout] 959 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:983:27
[INFO] [stdout]     |
[INFO] [stdout] 983 |         let fontsize = if let Some(v) = kwargs.get_item("fontsize")? {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:985:9
[INFO] [stdout]     |
[INFO] [stdout] 985 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 983 ~         let fontsize = match kwargs.get_item("fontsize")? { Some(v) => {
[INFO] [stdout] 984 |             v.extract::<f32>()?
[INFO] [stdout] 985 ~         } _ => {
[INFO] [stdout] 986 |             12.0
[INFO] [stdout] 987 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/figure.rs:989:24
[INFO] [stdout]     |
[INFO] [stdout] 989 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/figure.rs:991:9
[INFO] [stdout]     |
[INFO] [stdout] 991 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout] 989 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 990 |             colors::parse_color_value(&c)?
[INFO] [stdout] 991 ~         } _ => {
[INFO] [stdout] 992 |             crate::colors::Color::new(0, 0, 0, 255)
[INFO] [stdout] 993 ~         }};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:995:45
[INFO] [stdout]      |
[INFO] [stdout]  995 |         let (arrow_color, arrow_width) = if let Some(ap) = kwargs.get_item("arrowprops")? {
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]      |                                                            |
[INFO] [stdout]      |                                                            this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1008:9
[INFO] [stdout]      |
[INFO] [stdout] 1008 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout]  995 ~         let (arrow_color, arrow_width) = match kwargs.get_item("arrowprops")? { Some(ap) => {
[INFO] [stdout]  996 |             let arrow_dict: &Bound<'_, PyDict> = ap.downcast::<PyDict>()?;
[INFO] [stdout]  ...
[INFO] [stdout] 1007 |             (ac, aw)
[INFO] [stdout] 1008 ~         } _ => {
[INFO] [stdout] 1009 |             (crate::colors::Color::new(0, 0, 0, 255), 1.5)
[INFO] [stdout] 1010 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:997:25
[INFO] [stdout]      |
[INFO] [stdout]  997 |             let ac = if let Some(c) = arrow_dict.get_item("color")? {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:999:13
[INFO] [stdout]      |
[INFO] [stdout]  999 |             } else {
[INFO] [stdout]      |             ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout]  997 ~             let ac = match arrow_dict.get_item("color")? { Some(c) => {
[INFO] [stdout]  998 |                 colors::parse_color_value(&c)?
[INFO] [stdout]  999 ~             } _ => {
[INFO] [stdout] 1000 |                 crate::colors::Color::new(0, 0, 0, 255)
[INFO] [stdout] 1001 ~             }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1002:25
[INFO] [stdout]      |
[INFO] [stdout] 1002 |             let aw = if let Some(v) = arrow_dict.get_item("width")? {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1004:13
[INFO] [stdout]      |
[INFO] [stdout] 1004 |             } else {
[INFO] [stdout]      |             ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1002 ~             let aw = match arrow_dict.get_item("width")? { Some(v) => {
[INFO] [stdout] 1003 |                 v.extract::<f32>()?
[INFO] [stdout] 1004 ~             } _ => {
[INFO] [stdout] 1005 |                 1.5
[INFO] [stdout] 1006 ~             }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1012:23
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         let bbox = if let Some(bx) = kwargs.get_item("bbox")? {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1035:9
[INFO] [stdout]      |
[INFO] [stdout] 1035 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1012 ~         let bbox = match kwargs.get_item("bbox")? { Some(bx) => {
[INFO] [stdout] 1013 |             let bbox_dict: &Bound<'_, PyDict> = bx.downcast::<PyDict>()?;
[INFO] [stdout]  ...
[INFO] [stdout] 1034 |             Some(crate::axes::AnnotationBbox { boxstyle, facecolor, edgecolor, alpha })
[INFO] [stdout] 1035 ~         } _ => {
[INFO] [stdout] 1036 |             None
[INFO] [stdout] 1037 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1014:31
[INFO] [stdout]      |
[INFO] [stdout] 1014 |             let boxstyle = if let Some(v) = bbox_dict.get_item("boxstyle")? {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^-------------------------------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1016:13
[INFO] [stdout]      |
[INFO] [stdout] 1016 |             } else {
[INFO] [stdout]      |             ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1014 ~             let boxstyle = match bbox_dict.get_item("boxstyle")? { Some(v) => {
[INFO] [stdout] 1015 |                 v.extract::<String>()?
[INFO] [stdout] 1016 ~             } _ => {
[INFO] [stdout] 1017 |                 "square".to_string()
[INFO] [stdout] 1018 ~             }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1019:32
[INFO] [stdout]      |
[INFO] [stdout] 1019 |             let facecolor = if let Some(c) = bbox_dict.get_item("facecolor")? {
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^--------------------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1021:13
[INFO] [stdout]      |
[INFO] [stdout] 1021 |             } else {
[INFO] [stdout]      |             ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1019 ~             let facecolor = match bbox_dict.get_item("facecolor")? { Some(c) => {
[INFO] [stdout] 1020 |                 colors::parse_color_value(&c)?
[INFO] [stdout] 1021 ~             } _ => {
[INFO] [stdout] 1022 |                 crate::colors::Color::new(255, 255, 255, 255)
[INFO] [stdout] 1023 ~             }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1024:32
[INFO] [stdout]      |
[INFO] [stdout] 1024 |             let edgecolor = if let Some(c) = bbox_dict.get_item("edgecolor")? {
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^--------------------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1026:13
[INFO] [stdout]      |
[INFO] [stdout] 1026 |             } else {
[INFO] [stdout]      |             ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1024 ~             let edgecolor = match bbox_dict.get_item("edgecolor")? { Some(c) => {
[INFO] [stdout] 1025 |                 colors::parse_color_value(&c)?
[INFO] [stdout] 1026 ~             } _ => {
[INFO] [stdout] 1027 |                 crate::colors::Color::new(0, 0, 0, 255)
[INFO] [stdout] 1028 ~             }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1029:28
[INFO] [stdout]      |
[INFO] [stdout] 1029 |             let alpha = if let Some(v) = bbox_dict.get_item("alpha")? {
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1031:13
[INFO] [stdout]      |
[INFO] [stdout] 1031 |             } else {
[INFO] [stdout]      |             ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1029 ~             let alpha = match bbox_dict.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 1030 |                 v.extract::<f32>()?
[INFO] [stdout] 1031 ~             } _ => {
[INFO] [stdout] 1032 |                 1.0
[INFO] [stdout] 1033 ~             }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1039:29
[INFO] [stdout]      |
[INFO] [stdout] 1039 |         let fontweight = if let Some(v) = kwargs.get_item("fontweight")? {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1041:9
[INFO] [stdout]      |
[INFO] [stdout] 1041 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1039 ~         let fontweight = match kwargs.get_item("fontweight")? { Some(v) => {
[INFO] [stdout] 1040 |             v.extract::<String>()?
[INFO] [stdout] 1041 ~         } _ => {
[INFO] [stdout] 1042 |             "normal".to_string()
[INFO] [stdout] 1043 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1045:28
[INFO] [stdout]      |
[INFO] [stdout] 1045 |         let fontstyle = if let Some(v) = kwargs.get_item("fontstyle")? {
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1047:9
[INFO] [stdout]      |
[INFO] [stdout] 1047 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1045 ~         let fontstyle = match kwargs.get_item("fontstyle")? { Some(v) => {
[INFO] [stdout] 1046 |             v.extract::<String>()?
[INFO] [stdout] 1047 ~         } _ => {
[INFO] [stdout] 1048 |             "normal".to_string()
[INFO] [stdout] 1049 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1157:24
[INFO] [stdout]      |
[INFO] [stdout] 1157 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1159:9
[INFO] [stdout]      |
[INFO] [stdout] 1159 |         } else { None };
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1157 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 1158 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 1159 ~         } _ => { None }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1161:24
[INFO] [stdout]      |
[INFO] [stdout] 1161 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1163:9
[INFO] [stdout]      |
[INFO] [stdout] 1163 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1161 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 1162 |             v.extract::<f32>()?
[INFO] [stdout] 1163 ~         } _ => {
[INFO] [stdout] 1164 |             0.3
[INFO] [stdout] 1165 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1181:24
[INFO] [stdout]      |
[INFO] [stdout] 1181 |         let color = if let Some(c) = kwargs.get_item("color")? {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1183:9
[INFO] [stdout]      |
[INFO] [stdout] 1183 |         } else { None };
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1181 ~         let color = match kwargs.get_item("color")? { Some(c) => {
[INFO] [stdout] 1182 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 1183 ~         } _ => { None }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1185:24
[INFO] [stdout]      |
[INFO] [stdout] 1185 |         let alpha = if let Some(v) = kwargs.get_item("alpha")? {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^-------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1187:9
[INFO] [stdout]      |
[INFO] [stdout] 1187 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1185 ~         let alpha = match kwargs.get_item("alpha")? { Some(v) => {
[INFO] [stdout] 1186 |             v.extract::<f32>()?
[INFO] [stdout] 1187 ~         } _ => {
[INFO] [stdout] 1188 |             0.3
[INFO] [stdout] 1189 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1206:25
[INFO] [stdout]      |
[INFO] [stdout] 1206 |         let levels = if let Some(v) = kwargs.get_item("levels")? {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1208:9
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         } else { None };
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1206 ~         let levels = match kwargs.get_item("levels")? { Some(v) => {
[INFO] [stdout] 1207 |             Some(v.extract::<Vec<f64>>()?)
[INFO] [stdout] 1208 ~         } _ => { None }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1210:28
[INFO] [stdout]      |
[INFO] [stdout] 1210 |         let linewidth = if let Some(v) = kwargs.get_item("linewidth")? {
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1212:9
[INFO] [stdout]      |
[INFO] [stdout] 1212 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1210 ~         let linewidth = match kwargs.get_item("linewidth")? { Some(v) => {
[INFO] [stdout] 1211 |             v.extract::<f32>()?
[INFO] [stdout] 1212 ~         } _ => {
[INFO] [stdout] 1213 |             1.0
[INFO] [stdout] 1214 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1232:25
[INFO] [stdout]      |
[INFO] [stdout] 1232 |         let levels = if let Some(v) = kwargs.get_item("levels")? {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1234:9
[INFO] [stdout]      |
[INFO] [stdout] 1234 |         } else { None };
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1232 ~         let levels = match kwargs.get_item("levels")? { Some(v) => {
[INFO] [stdout] 1233 |             Some(v.extract::<Vec<f64>>()?)
[INFO] [stdout] 1234 ~         } _ => { None }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1250:27
[INFO] [stdout]      |
[INFO] [stdout] 1250 |         let gridsize = if let Some(v) = kwargs.get_item("gridsize")? {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^----------------------------
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1252:9
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1250 ~         let gridsize = match kwargs.get_item("gridsize")? { Some(v) => {
[INFO] [stdout] 1251 |             v.extract::<usize>()?
[INFO] [stdout] 1252 ~         } _ => {
[INFO] [stdout] 1253 |             20
[INFO] [stdout] 1254 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1256:23
[INFO] [stdout]      |
[INFO] [stdout] 1256 |         let cmap = if let Some(v) = kwargs.get_item("cmap")? {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1258:9
[INFO] [stdout]      |
[INFO] [stdout] 1258 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1256 ~         let cmap = match kwargs.get_item("cmap")? { Some(v) => {
[INFO] [stdout] 1257 |             v.extract::<String>()?
[INFO] [stdout] 1258 ~         } _ => {
[INFO] [stdout] 1259 |             "viridis".to_string()
[INFO] [stdout] 1260 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1262:25
[INFO] [stdout]      |
[INFO] [stdout] 1262 |         let mincnt = if let Some(v) = kwargs.get_item("mincnt")? {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^--------------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1264:9
[INFO] [stdout]      |
[INFO] [stdout] 1264 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1262 ~         let mincnt = match kwargs.get_item("mincnt")? { Some(v) => {
[INFO] [stdout] 1263 |             v.extract::<usize>()?
[INFO] [stdout] 1264 ~         } _ => {
[INFO] [stdout] 1265 |             1
[INFO] [stdout] 1266 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1281:28
[INFO] [stdout]      |
[INFO] [stdout] 1281 |         let facecolor = if let Some(c) = kwargs.get_item("facecolor")? {
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1283:9
[INFO] [stdout]      |
[INFO] [stdout] 1283 |         } else { None };
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1281 ~         let facecolor = match kwargs.get_item("facecolor")? { Some(c) => {
[INFO] [stdout] 1282 |             Some(colors::parse_color_value(&c)?)
[INFO] [stdout] 1283 ~         } _ => { None }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1285:28
[INFO] [stdout]      |
[INFO] [stdout] 1285 |         let edgecolor = if let Some(c) = kwargs.get_item("edgecolor")? {
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1287:9
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1285 ~         let edgecolor = match kwargs.get_item("edgecolor")? { Some(c) => {
[INFO] [stdout] 1286 |             colors::parse_color_value(&c)?
[INFO] [stdout] 1287 ~         } _ => {
[INFO] [stdout] 1288 |             crate::colors::Color::new(0, 0, 0, 255)
[INFO] [stdout] 1289 ~         }};
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/figure.rs:1291:28
[INFO] [stdout]      |
[INFO] [stdout] 1291 |         let linewidth = if let Some(v) = kwargs.get_item("linewidth")? {
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^-----------------------------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.22.6/src/instance.rs:427:1
[INFO] [stdout]      |
[INFO] [stdout]  427 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/figure.rs:1293:9
[INFO] [stdout]      |
[INFO] [stdout] 1293 |         } else {
[INFO] [stdout]      |         ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1291 ~         let linewidth = match kwargs.get_item("linewidth")? { Some(v) => {
[WARN] too many lines in the log, truncating it
